Reputation: 28611
I am using git-svn for our svn repository. However, the repo is huge, so I first checked out the project like so:
git svn clone svn://svn.server.com/project -s -r 12000:HEAD
So, now I have only revisions 12000 to the current revision. I would like to checkout some more revisions, but the following does nothing:
git svn fetch -r 11000:HEAD
Is there a way to fetch older revisions?
Upvotes: 10
Views: 11807
Reputation: 239682
I'm not expert enough in git and git-svn to flesh this out fully, but you should be able to git svn clone
your svn into a new repo, add that repo as a remote and fetch it from your starting repo, and then add a graft point between the first commit in the old repo (r12000
) and the parent of r12000
in the new repo. That will fuse the two pieces of history together. Then again, there might need to be some more patching-up to keep git-svn operating correctly.
Upvotes: 2
Reputation: 161
I use --fetch-all "svn-git fetch --all"
http://git-scm.com/docs/git-svn
Upvotes: -1
Reputation: 551
I don't think this is really supported, doing so would rebase the entire repository which would generally be considered a bad thing. (Although pure git is more than happy to let you shoot yourself in the foot by doing this) I don't see a way to do this, even after fiddling with the data in .git/svn. You can checkout older revisions of branches and tags you haven't retrieved, but once you retrieve a branch, you can't go back and grab even more history.
I waited 6 hours for a 50k revision repo to clone, so I know your pain. If you really want that much history, I suggest just letting it run overnight and grab the entire thing.
Upvotes: 9
Reputation: 5085
It seems this post has an answer: basically, you must not start with clone, but init and fetch. Did not try it myself (yet)...
Upvotes: 2