Verhogen
Verhogen

Reputation: 28611

Git Svn Fetch More Revisions

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

Answers (4)

hobbs
hobbs

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

accreativos
accreativos

Reputation: 161

I use --fetch-all "svn-git fetch --all"

http://git-scm.com/docs/git-svn

Upvotes: -1

NUXI
NUXI

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

Xavier Nodet
Xavier Nodet

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

Related Questions