threads / discuss / 13692

git-svn {show,create}-ignore chokes upon subdirs

Subject: git-svn {show,create}-ignore chokes upon subdirs

## tl;dr

3 messages between May 27, 2008 and May 28, 2008.

replies: 2people: 2as markdown or json

Nikolaus Schulz· May 27, 2008, 16:20 UTC · lore
Hi, 

when importing subversion repositories into git, git-svn show-ignore and create-ignore choke when scanning project subdirectories. For example, with the sequence

 git-svn init -s http://svn.red-bean.com/repos/producingoss producingoss-git-svn
 cd producingoss-git-svn
 git-svn fetch
 git-svn create-ignore 
the last command prints this: 
 HTTP Path Not Found: PROPFIND request failed on '/repos/producingoss/!svn/bc/1465/ca': '/repos/producingoss/!svn/bc/1465/ca' path not found at /home/nikolaus/nfs/nsbp/git/git/git-svn line 1897

Revision 1465 is the latest subversion revision of the project. git-svn create-ignore stages a correct .gitignore in the top level directory, then aborts with the same error. I have tested this with two svn projects, the result is identical. Bisecting suggested that this is broken since commit 01bdab84e31763a98206c31cf99b9dc3cb221356.

Nikolaus
Sam Vilain· May 28, 2008, 08:34 UTC · re: Nikolaus Schulz · lore

Re: git-svn {show,create}-ignore chokes upon subdirs

Nikolaus Schulz wrote:
Show 20 quoted lines
> Hi, 
> 
> when importing subversion repositories into git, git-svn show-ignore and
> create-ignore choke when scanning project subdirectories.  For example,
> with the sequence
> 
>  git-svn init -s http://svn.red-bean.com/repos/producingoss producingoss-git-svn
>  cd producingoss-git-svn
>  git-svn fetch
>  git-svn create-ignore 
> 
> the last command prints this: 
> 
>  HTTP Path Not Found: PROPFIND request failed on '/repos/producingoss/!svn/bc/1465/ca': '/repos/producingoss/!svn/bc/1465/ca' path not found at /home/nikolaus/nfs/nsbp/git/git/git-svn line 1897
> 
> Revision 1465 is the latest subversion revision of the project.  git-svn
> create-ignore stages a correct .gitignore in the top level directory, then
> aborts with the same error.  I have tested this with two svn projects, the
> result is identical.  Bisecting suggested that this is broken since commit
> 01bdab84e31763a98206c31cf99b9dc3cb221356.

It helps to include the breaking change's details in the message in reports like this. Here it is:

From: Benoit Sigoure <tsuna@lrde.epita.fr>
Subject: git-svn: add a generic tree traversal to fetch SVN properties
    * git-svn.perl (&traverse_ignore): Remove.
    (&prop_walk): New.
    (&cmd_show_ignore): Use prop_walk.
[ew: This will ease the implementation of the `create-ignore',
     `propget', and `proplist' commands]
Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

As a side note, "svn:mergeinfo" is rapidly becoming an 'interesting' property and should probably be added to the list. However, I think it probably needs to go somewhere like do_fetch; I'll follow-up separately about that.

Sam.
Nikolaus Schulz· May 28, 2008, 09:16 UTC · re: Sam Vilain · lore

Re: git-svn {show,create}-ignore chokes upon subdirs

On Wed, May 28, 2008 at 08:34:23PM +1200, Sam Vilain wrote:
Show 8 quoted lines
> >  git-svn init -s http://svn.red-bean.com/repos/producingoss producingoss-git-svn
> >  cd producingoss-git-svn
> >  git-svn fetch
> >  git-svn create-ignore 
> > 
> > the last command prints this: 
> > 
> >  HTTP Path Not Found: PROPFIND request failed on '/repos/producingoss/!svn/bc/1465/ca': '/repos/producingoss/!svn/bc/1465/ca' path not found at /home/nikolaus/nfs/nsbp/git/git/git-svn line 1897
[...]
Show 16 quoted lines
> It helps to include the breaking change's details in the message in
> reports like this.  Here it is:
> 
> From: Benoit Sigoure <tsuna@lrde.epita.fr>
> Subject: git-svn: add a generic tree traversal to fetch SVN properties
> 
>     * git-svn.perl (&traverse_ignore): Remove.
>     (&prop_walk): New.
>     (&cmd_show_ignore): Use prop_walk.
> 
> [ew: This will ease the implementation of the `create-ignore',
>      `propget', and `proplist' commands]
> 
> Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr>
> Acked-by: Eric Wong <normalperson@yhbt.net>
> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Thanks, I thought it could be considered chatter. :-)

It looks like the patch from Christian Engwer posted here yesterday[1] is a fix for the described problem.

> As a side note, "svn:mergeinfo" is rapidly becoming an 'interesting'
> property and should probably be added to the list.  

That's interesting, I wasn't aware they're finally tackling merge tracking.

Nikolaus
[1] see Gerrit Pape's message "[PATCH] git-svn fails in prop_walk if
    $self->{path} is not empty"
                                                                                   

← back to recent threads