Re: git-svn questions: how to clone/init non-standard layout branches/tags?
In case others encounter this problem and want to find a solution...
On Nov 3, 2007, at 2:26 PM, Luke Lu wrote:
Show 44 quoted lines
> On Nov 3, 2007, at 1:52 PM, Lars Hjemli wrote:
>> On Nov 3, 2007 9:41 PM, Luke Lu <git@vicaya.com> wrote:
>>> On Nov 3, 2007, at 1:32 PM, Lars Hjemli wrote:
>>>> On Nov 3, 2007 9:01 PM, Luke Lu <git@vicaya.com> wrote:
>>>>> I did try to add a "fetch" line for the production branch like
>>>>> this:
>>>>>
>>>>> [svn-remote "svn"]
>>>>> url = svn+ssh://host/svn/project
>>>>> fetch = production:refs/remotes/svn-prod
>>>>> fetch = trunk:refs/remotes/git-svn
>>>>>
>>>>> which is modeled after http://lists-archives.org/git/420712-git-
>>>>> svn-
>>>>> remote-tracking-branch-question.html
>>>>>
>>>> Did you forget to run 'git svn fetch' after modifying your .git/
>>>> config?
>>>
>>> Yes, I did. It didn't seem to do anything.
>>
>> Hmm, it works for me, I've been adding and removing branches like
>> this
>> for months, but my .git/config is slightly different:
>>
>> [svn-remote "svn"]
>> url = svn://example.org
>> fetch = project/trunk:refs/remotes/svn/trunk
>> fetch = project/branches/topic:refs/remotes/svn/topic
>>
>> I don't know if this difference is important, though...
>
> I tried to test this on a local repository like file:///path/
> project. It seems to work and get everything properly upon git svn
> fetch. However it doesn't work for the production branch. If I
> modify the fetch line a bit to svn/prod instead of svn-prod and try
> git svn fetch again. It would hang for about 2 minutes and return 0
> and show nothing in progress. A .git/svn/svn/prod directory is
> created but it's empty.
>
> One thing that might be special for this branch is that it gets
> deleted and recreated/copied all the time from trunk. I wonder if
> git-svn use some kind of heuristics to determine if there is
> anything to fetch and silently failing...
After some permutations, this is the config that worked for me:
[svn-remote "svn"]
url = svn+ssh://host/svn
fetch = project/trunk:refs/remotes/git-svn
fetch = project/production:refs/remotes/svn/production
The primary difference is that I moved 'project' from url to the fetch specs. My original single trunk config looked like this:
[svn-remote "svn"]
url = svn+ssh://host/svn/project/trunk
fetch = :refs/remotes/git-svn
I wish that "git svn fetch" could be more verbose about what's going on in this case.
__Luke