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.