git-svn question: adding a branch to a local clone of an upstream git-svn clone
- From
Jay Soffian <jaysoffian@gmail.com>
- Date
- Jan 22, 2010, 19:15 UTC
- Message-ID
- <76718491001221115r56c1f6e4qbf6cecc30ce4af58@mail.gmail.com>
I have a clone of a repo that is itself a git-svn clone:
git://git.chromium.org/chromium.git
So my .git/config has (obviously):
[remote "origin"] url = git://git.chromium.org/chromium.git fetch = +refs/heads/*:refs/remotes/origin/*
The upstream repo has only trunk. I want to use git-svn to add an additional branch:
http://src.chromium.org/svn/branches/249/
So I added this to my .git/config:
[svn-remote "svn"] url = http://src.chromium.org/svn fetch = branches/249/src:refs/remotes/branches/249
I looked up the branch point for 249 and created a new branch:
$ svn log http://src.chromium.org/svn/branches/249 ------------------------------------------------------------------------ r32060 | laforge@chromium.org | 2009-11-16 11:34:43 -0500 (Mon, 16 Nov 2009) | 1 line
Branching for 249 @32041 ------------------------------------------------------------------------ $ git rev2sha | grep src@32041 bf6f4ed svn://svn.chromium.org/chrome/trunk/src@32041 $ git checkout -b 249 bf6f4ed
And then attempted a git svn fetch. Which wanted to grab the entire svn history. I then realized that the origin git clone is from a different upstream URL (to which I don't have access), so I tried adding rewriteRoot:
[svn-remote "svn"] url = http://src.chromium.org/svn fetch = branches/249/src:refs/remotes/branches/249 rewriteRoot = svn://svn.chromium.org/chrome
Same problem. Ah, UUID is also different. Unfortunately, git-svn doesn't have a "rewriteUUID" config (I'm working on a patch), but I did try hacking .git/svn/.metadata to look like this:
[svn-remote "svn"] reposRoot = http://src.chromium.org/svn uuid = 4ff67af0-8c30-449e-8e8b-ad334ec8d88c svnsync-uuid = 0039d316-1c4b-4281-b951-d872f2087c98 svnsync-url = svn://svn.chromium.org/chrome
Then changed my .git/config to:
[svn-remote "svn"] url = http://src.chromium.org/svn fetch = branches/249/src:refs/remotes/branches/249 useSvnsyncProps = true
I blew away .git/svn/refs and tried again:
$ git svn fetch Found possible branch point: http://src.chromium.org/svn/trunk/src => http://src.chromium.org/svn/branches/249/src, 32041 Initializing parent: refs/remotes/branches/249@32041 r3 = c14d891d44f0afff64e56ed7c9702df1d807b1ee (refs/remotes/branches/249@32041)
Sadly, git svn is still trying to fetch the entire history.
Hmpfh. Any suggestions? Maybe I should just not worry about trying to have a connected history locally (I'll never be dcomitting) and just use git svn fetch -r 32041:HEAD ?
j.