xorsyst
xorsyst

Reputation: 8247

Migrate from git-svn to pure git

We currently have a subversion server with a bunch of data in it (~20Gb). However, everyone uses git svn for talking to that server.

We'd like to move to using pure git, but we don't want to set up a server for this, just have the git repository on a fileshare.

What's the best way of setting this up? Ideally the version on the file server should be a "bare" repository, but ideally also be able to pull svn updates for a bit as some commits might be done while I'm cloning.

[Note: everything is Windows]

Upvotes: 0

Views: 92

Answers (2)

eftshift0
eftshift0

Reputation: 30212

Well..... I guess you could set up a repo on a server and you could set up a cronjob (or scheduled task, whatever) that will run git svn fetch to sync up with whatever shows up on svn and then move a "local" branch to the svn branches so that people can "see" them. Developers working on git could add this repo as a remote (say: origin, or "mainrepo") and then it becomes a matter of seeing how you will set up the repos to start sharing stuff (which is a whole topic in and of itself).

Upvotes: 0

Dmitry Pavlenko
Dmitry Pavlenko

Reputation: 8968

If you want to have a pure "bare" Git server synchronized with your SVN repository, you can try SubGit.

Not only every SVN update will get into it, but also vice versa: every push to the Git repository will get translated into SVN.

To setup this mirror run

$ subgit configure --svn-url SVN_PROJECT_ROOT_URL --layout auto --trunk trunk repo.git

Then adjust repo.git/subgit/config according to your needs and then run

$ subgit install repo.git

After that if you can clone repo.git directly:

$ git clone repo.git wt/

or setup an access to it e.g. with git-http-backend and work with it as with normal Git repository.

See Quick Howto for more details.

Disclaimer: I'm one of SubGit developers.

Upvotes: 1

Related Questions