threads / discuss / 8472

git-svn "cannot lock ref" error during fetch

Subject: git-svn "cannot lock ref" error during fetch

## tl;dr

6 messages between Jun 6, 2007 and Jun 13, 2007.

replies: 5people: 3as markdown or json

James Peach· Jun 6, 2007, 17:17 UTC · lore
Hi all,

I'm new to git, and I'm experimenting with using git-svn to interact with a large SVN repository with lots of branches.

I initially did an init like this:
git-svn init -t tags -b branches -T trunk svn+ssh://server/svn/project

Then I did a git-svn fetch, which started pulling all the branches. After a while, however, it hit a branch that it couldn't pull:

Found branch parent: (tags/project-92~9) 767f1f1601a4deae459c99ea6c1d1b9ba8f57a65 Following parent with do_update ... Successfully followed parent fatal: refs/remotes/tags/project-92~9: cannot lock the ref update-ref -m r13726 refs/remotes/tags/project-92~9 950638ff72acc278156a0d55baafbabb43f2b772: command returned error: 128

Some amount of searching failed to turn up any hints on what this error means or how I can work around it. I'd appreciate any advice ...

James
Eric Wong· Jun 7, 2007, 06:31 UTC · re: James Peach · lore

Re: git-svn "cannot lock ref" error during fetch

James Peach <jamespeach@mac.com> wrote:
Show 23 quoted lines
> Hi all,
> 
> I'm new to git, and I'm experimenting with using git-svn to interact  
> with a large SVN repository with lots of branches.
> 
> I initially did an init like this:
> 
> git-svn init -t tags -b branches -T trunk svn+ssh://server/svn/project
> 
> Then I did a git-svn fetch, which started pulling all the branches.  
> After a while, however, it hit a branch that it couldn't pull:
> 
> Found branch parent: (tags/project-92~9)  
> 767f1f1601a4deae459c99ea6c1d1b9ba8f57a65
> Following parent with do_update
> ...
> Successfully followed parent
> fatal: refs/remotes/tags/project-92~9: cannot lock the ref
> update-ref -m r13726 refs/remotes/tags/project-92~9  
> 950638ff72acc278156a0d55baafbabb43f2b772: command returned error: 128
> 
> Some amount of searching failed to turn up any hints on what this  
> error means or how I can work around it. I'd appreciate any advice ...

Is there a tag actually named "project-92~9"? If so, it's an invalid branch name for git. I started working on a way around it by mapping new names to it, but haven't gotten around to finishing it....

-- 
Eric Wong
Lars Hjemli· Jun 7, 2007, 06:54 UTC · re: Eric Wong · lore

Re: git-svn "cannot lock ref" error during fetch

On 6/7/07, Eric Wong <normalperson@yhbt.net> wrote:
Show 12 quoted lines
> James Peach <jamespeach@mac.com> wrote:
> > update-ref -m r13726 refs/remotes/tags/project-92~9
> > 950638ff72acc278156a0d55baafbabb43f2b772: command returned error: 128
> >
> > Some amount of searching failed to turn up any hints on what this
> > error means or how I can work around it. I'd appreciate any advice ...
>
> Is there a tag actually named "project-92~9"?  If so, it's
> an invalid branch name for git.  I started working on a way
> around it by mapping new names to it, but haven't gotten around to
> finishing it....
>

fwiw: a similar error occurs when a svn tag-/branchname contains spaces. The culprit seems to be $self->refname in

		command_noisy('update-ref', '-m', "r$rev",
		              $self->refname, $commit);
in rev_db_set()

-- larsh

James Peach· Jun 7, 2007, 15:37 UTC · re: Eric Wong · lore

Re: git-svn "cannot lock ref" error during fetch

On Jun 6, 2007, at 11:31 PM, Eric Wong wrote:
Show 28 quoted lines
> James Peach <jamespeach@mac.com> wrote:
>> Hi all,
>>
>> I'm new to git, and I'm experimenting with using git-svn to interact
>> with a large SVN repository with lots of branches.
>>
>> I initially did an init like this:
>>
>> git-svn init -t tags -b branches -T trunk svn+ssh://server/svn/ 
>> project
>>
>> Then I did a git-svn fetch, which started pulling all the branches.
>> After a while, however, it hit a branch that it couldn't pull:
>>
>> Found branch parent: (tags/project-92~9)
>> 767f1f1601a4deae459c99ea6c1d1b9ba8f57a65
>> Following parent with do_update
>> ...
>> Successfully followed parent
>> fatal: refs/remotes/tags/project-92~9: cannot lock the ref
>> update-ref -m r13726 refs/remotes/tags/project-92~9
>> 950638ff72acc278156a0d55baafbabb43f2b772: command returned error: 128
>>
>> Some amount of searching failed to turn up any hints on what this
>> error means or how I can work around it. I'd appreciate any  
>> advice ...
>
> Is there a tag actually named "project-92~9"?
unfortunately, there's more than one tag with this naming convention :(
>  If so, it's
> an invalid branch name for git.  I started working on a way
> around it by mapping new names to it, but haven't gotten around to
> finishing it....

Aha! I don't really need 90% of the tags - is there a way I can tell the "git-svn fetch" not to bother with particular tags?

Eric Wong· Jun 9, 2007, 20:06 UTC · re: James Peach · lore

Re: git-svn "cannot lock ref" error during fetch

James Peach <jamespeach@mac.com> wrote:
Show 40 quoted lines
> On Jun 6, 2007, at 11:31 PM, Eric Wong wrote:
> 
> >James Peach <jamespeach@mac.com> wrote:
> >>Hi all,
> >>
> >>I'm new to git, and I'm experimenting with using git-svn to interact
> >>with a large SVN repository with lots of branches.
> >>
> >>I initially did an init like this:
> >>
> >>git-svn init -t tags -b branches -T trunk svn+ssh://server/svn/ 
> >>project
> >>
> >>Then I did a git-svn fetch, which started pulling all the branches.
> >>After a while, however, it hit a branch that it couldn't pull:
> >>
> >>Found branch parent: (tags/project-92~9)
> >>767f1f1601a4deae459c99ea6c1d1b9ba8f57a65
> >>Following parent with do_update
> >>...
> >>Successfully followed parent
> >>fatal: refs/remotes/tags/project-92~9: cannot lock the ref
> >>update-ref -m r13726 refs/remotes/tags/project-92~9
> >>950638ff72acc278156a0d55baafbabb43f2b772: command returned error: 128
> >>
> >>Some amount of searching failed to turn up any hints on what this
> >>error means or how I can work around it. I'd appreciate any  
> >>advice ...
> >
> >Is there a tag actually named "project-92~9"?
> 
> unfortunately, there's more than one tag with this naming convention :(
> 
> > If so, it's
> >an invalid branch name for git.  I started working on a way
> >around it by mapping new names to it, but haven't gotten around to
> >finishing it....
> 
> Aha! I don't really need 90% of the tags - is there a way I can tell  
> the "git-svn fetch" not to bother with particular tags?

You can manually add fetch = foo:bar lines in the [svn-remote "svn"] section of your .git/config file. See the one for trunk. Then remove the tags= wildcard config line.

-- 
Eric Wong
James Peach· Jun 13, 2007, 23:07 UTC · re: Eric Wong · lore

Re: git-svn "cannot lock ref" error during fetch

On Jun 9, 2007, at 1:06 PM, Eric Wong wrote:
Show 48 quoted lines
> James Peach <jamespeach@mac.com> wrote:
>> On Jun 6, 2007, at 11:31 PM, Eric Wong wrote:
>>
>>> James Peach <jamespeach@mac.com> wrote:
>>>> Hi all,
>>>>
>>>> I'm new to git, and I'm experimenting with using git-svn to  
>>>> interact
>>>> with a large SVN repository with lots of branches.
>>>>
>>>> I initially did an init like this:
>>>>
>>>> git-svn init -t tags -b branches -T trunk svn+ssh://server/svn/
>>>> project
>>>>
>>>> Then I did a git-svn fetch, which started pulling all the branches.
>>>> After a while, however, it hit a branch that it couldn't pull:
>>>>
>>>> Found branch parent: (tags/project-92~9)
>>>> 767f1f1601a4deae459c99ea6c1d1b9ba8f57a65
>>>> Following parent with do_update
>>>> ...
>>>> Successfully followed parent
>>>> fatal: refs/remotes/tags/project-92~9: cannot lock the ref
>>>> update-ref -m r13726 refs/remotes/tags/project-92~9
>>>> 950638ff72acc278156a0d55baafbabb43f2b772: command returned error:  
>>>> 128
>>>>
>>>> Some amount of searching failed to turn up any hints on what this
>>>> error means or how I can work around it. I'd appreciate any
>>>> advice ...
>>>
>>> Is there a tag actually named "project-92~9"?
>>
>> unfortunately, there's more than one tag with this naming  
>> convention :(
>>
>>> If so, it's
>>> an invalid branch name for git.  I started working on a way
>>> around it by mapping new names to it, but haven't gotten around to
>>> finishing it....
>>
>> Aha! I don't really need 90% of the tags - is there a way I can tell
>> the "git-svn fetch" not to bother with particular tags?
>
> You can manually add fetch = foo:bar lines in the [svn-remote "svn"]
> section of your .git/config file.  See the one for trunk.  Then
> remove the tags= wildcard config line.
that worked really well, thanks a lot!

← back to recent threads