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
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.
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"