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

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

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

From: Nikolaus Schulz <hidden>
Date: 2016-06-15 22:44:39

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

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

From: Sam Vilain <hidden>
Date: 2016-06-15 22:44:39

Nikolaus Schulz wrote:
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 <redacted>
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 <redacted>
Acked-by: Eric Wong <redacted>
Signed-off-by: Shawn O. Pearce <redacted>

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.

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

From: Nikolaus Schulz <hidden>
Date: 2016-06-15 22:44:39

On Wed, May 28, 2008 at 08:34:23PM +1200, Sam Vilain wrote:
quoted
 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
[...]
It helps to include the breaking change's details in the message in
reports like this.  Here it is:

From: Benoit Sigoure <redacted>
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 <redacted>
Acked-by: Eric Wong <redacted>
Signed-off-by: Shawn O. Pearce <redacted>
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"
                                                                                   
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help