Migrating from CVS on Solaris to Gitlab

I’ve been looking at some of the things about migration on the site. I’ve seen the cvs-fast-export tool. I’m confused as to how that’s supposed to work. It looks like I would have to run that on the CVS (solaris) side. But… it doesn’t appear to be geared for solaris.
or… am i wrong.
I’m pretty new to gitlab, and been given the task of finding out how to migrate.
I probably need a step-by-step process. Is there anyone familiar with doing this? can you direct me to something that I can use / how it works ?

From google which took me less than one minute with the search phrase migrate csv to git, and from one of the first links listed using the gitlab docs:


I found this link from that page:

$ git cvsimport -v -d :pserver:anonymous@cvs.sv.gnu.org:/sources/classpath classpath

would seem to suggest using git on your computer, which connects to csv.sv.gnu.org so change this to the info you would use to connect to your Solaris server along with the appropriate path for the CSV repository which will convert it to a directory on your computer classpath.

classpath you can change to the name of your CVS repository that you are wanting to convert. Once you have the git repos locally on your computer, you can then push them to a gitlab server be it gitlab.com or your locally installed gitlab server.

Cannot test it and give you step-by-step since I don’t have CVS (the info above should have the info you need to do that), but there’s plenty of google results since conversion relates to CVS and git from the command line. Thereafter, you just git push to a newly created git repo on gitlab etc.

I had seen the first link. It appears that the cvs-fast-export isn’t geared for solaris.
it seems like a lot of these deal more with bunta / freebsd / linux
the other one looks like I’d have to install a plug-in on the gitlab side. Not sure how much access they are going to give me to the production server. I don’t have a feeling this will be easy

From what I see, you only need on your local computer to install git-cvs package. Nothing needs to be installed on Solaris nor on gitlab. Do everything from your computer. It looks like this. I’ll give an example.

I install git and git-cvs packages on my laptop. I then run the command that I showed you above, which downloads to my computer the CVS repos (obviously have to download each CVS repo, one-by-one) and converts them all to git format. Once I have all these repos locally on my laptop, I can now start to think about putting these on my gitlab installation.

So we login to web interface of gitlab as your user name, we then create a new gitlab repo, with the name to match your old CVS repo for example. We can leave it empty to push to it. And then from your laptop we push the converted git repo to the repo on the gitlab server.

And that should be all.

I’m sorry… pretty new to git… i’m not seeing where I can get the git-cvs packages
and, of course when I try to do the git cvsimport from above… it gives me an error.

the cvsimport isn’t part of the standard git package. I’ve searched for a git core-package install… but, am unable to find anything that installs that.
do you have any idea of where those would be?
or… is this so old, that it may not lay out that way


I’m using Linux, so:

aptitude search git | grep -i cvs
p  git-cvs - fast, scalable, distributed revision control system (cvs interoperability)

I guess git-cvs is the name, which is what I posted previously. With Linux you can install some or all of the modules which give the various git functionality. Unfortunately, I cannot help anymore than that - it should work as per the Gitlab docs that I linked previously, and the appropriate linked URL’s within that document that explain how to utilise the git cvsimport functionality on your computer. As mentioned you do this on your computer, not on Solaris, not on Gitlab server.

If you are using Windows, maybe the git Windows version allows you to install the extra modules, but you will need to search for that. Maybe it’s possible. I don’t have Windows, nor a CVS server to give exact commands or check/test anything for you.

ok… thanks