* [PATCH/rfc] git-svn.perl: workaround assertions in svn library 1.5.0 @ 2008-07-06 19:28 Gerrit Pape 2008-07-07 9:06 ` Eric Wong 2008-07-17 14:08 ` Gerrit Pape 0 siblings, 2 replies; 8+ messages in thread From: Gerrit Pape @ 2008-07-06 19:28 UTC (permalink / raw) To: git, Eric Wong With subversion 1.5.0 (C and perl libraries) the git-svn selftest t9101-git-svn-props.sh fails at test 25 and 26. The following commands cause assertions in the svn library $ cd deeply $ git-svn propget svn:ignore . perl: /build/buildd/subversion-1.5.0dfsg1/subversion/libsvn_ra/ra_loader.c:674: svn_ra_get_dir: Assertion `*path != '/'' failed. Aborted $ git-svn propget svn:ignore .. perl: /build/buildd/subversion-1.5.0dfsg1/subversion/libsvn_subr/path.c:120: svn_path_join: Assertion `is_canonical(component, clen)' failed. With this commit, git-svn makes sure the path doesn't start with a slash, and is not a dot, working around these assertions. The breakage was reported by Lucas Nussbaum through http://bugs.debian.org/489108 Signed-off-by: Gerrit Pape <pape@smarden.org> --- git-svn.perl | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) I ran into this on Debian/unstable. With svn 1.5.0 the selftest fails without the patch, with svn 1.4.6 it succeeds with and without the patch. I'm not familar with the svn interfaces, not sure whether this is a regression in subversion, or a bug in git-svn. diff --git a/git-svn.perl b/git-svn.perl index f789a6e..a366c89 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -643,6 +643,8 @@ sub canonicalize_path { $path =~ s#/[^/]+/\.\.##g; $path =~ s#/$##g; $path =~ s#^\./## if $dot_slash_added; + $path =~ s#^/##; + $path =~ s#^\.$##; return $path; } -- 1.5.6 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH/rfc] git-svn.perl: workaround assertions in svn library 1.5.0 2008-07-06 19:28 [PATCH/rfc] git-svn.perl: workaround assertions in svn library 1.5.0 Gerrit Pape @ 2008-07-07 9:06 ` Eric Wong 2008-07-17 14:08 ` Gerrit Pape 1 sibling, 0 replies; 8+ messages in thread From: Eric Wong @ 2008-07-07 9:06 UTC (permalink / raw) To: Gerrit Pape, Junio C Hamano; +Cc: git Gerrit Pape <pape@smarden.org> wrote: > With subversion 1.5.0 (C and perl libraries) the git-svn selftest > t9101-git-svn-props.sh fails at test 25 and 26. The following commands > cause assertions in the svn library > > $ cd deeply > $ git-svn propget svn:ignore . > perl: /build/buildd/subversion-1.5.0dfsg1/subversion/libsvn_ra/ra_loader.c:674: svn_ra_get_dir: Assertion `*path != '/'' failed. > Aborted > > $ git-svn propget svn:ignore .. > perl: /build/buildd/subversion-1.5.0dfsg1/subversion/libsvn_subr/path.c:120: svn_path_join: Assertion `is_canonical(component, clen)' failed. > > With this commit, git-svn makes sure the path doesn't start with a > slash, and is not a dot, working around these assertions. > > The breakage was reported by Lucas Nussbaum through > http://bugs.debian.org/489108 > > Signed-off-by: Gerrit Pape <pape@smarden.org> Thanks Gerrit, This works with svn 1.4.3 here Acked-by: Eric Wong <normalperson@yhbt.net> > --- > git-svn.perl | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > I ran into this on Debian/unstable. With svn 1.5.0 the selftest fails > without the patch, with svn 1.4.6 it succeeds with and without the > patch. I'm not familar with the svn interfaces, not sure whether this > is a regression in subversion, or a bug in git-svn. > > > diff --git a/git-svn.perl b/git-svn.perl > index f789a6e..a366c89 100755 > --- a/git-svn.perl > +++ b/git-svn.perl > @@ -643,6 +643,8 @@ sub canonicalize_path { > $path =~ s#/[^/]+/\.\.##g; > $path =~ s#/$##g; > $path =~ s#^\./## if $dot_slash_added; > + $path =~ s#^/##; > + $path =~ s#^\.$##; > return $path; > } > > -- > 1.5.6 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH/rfc] git-svn.perl: workaround assertions in svn library 1.5.0 2008-07-06 19:28 [PATCH/rfc] git-svn.perl: workaround assertions in svn library 1.5.0 Gerrit Pape 2008-07-07 9:06 ` Eric Wong @ 2008-07-17 14:08 ` Gerrit Pape 2008-07-17 18:37 ` Dmitry Potapov 1 sibling, 1 reply; 8+ messages in thread From: Gerrit Pape @ 2008-07-17 14:08 UTC (permalink / raw) To: git, Eric Wong On Sun, Jul 06, 2008 at 07:28:50PM +0000, Gerrit Pape wrote: > With subversion 1.5.0 (C and perl libraries) the git-svn selftest > t9101-git-svn-props.sh fails at test 25 and 26. The following commands > The breakage was reported by Lucas Nussbaum through > http://bugs.debian.org/489108 > --- > git-svn.perl | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > I ran into this on Debian/unstable. With svn 1.5.0 the selftest fails > without the patch, with svn 1.4.6 it succeeds with and without the > patch. I'm not familar with the svn interfaces, not sure whether this > is a regression in subversion, or a bug in git-svn. Hi, while this commit fixed the selftests, it unfortunately is a regression http://thread.gmane.org/gmane.comp.version-control.git/87822/ http://bugs.debian.org/490400 I'm still not sure whether this is a git-svn problem, or actually a problem in subversion 1.5.0 $ perl -MSVN::Client -e \ 'sub print_names { print "<$_[0]>\n"; } $ctx=new SVN::Client; $ctx->status(".", "BASE", \&print_names, 1, 1, 0, 1);' | head -5 perl: /build/buildd/subversion-1.5.0dfsg1/subversion/libsvn_subr/path.c:119: svn_path_join: Assertion `is_canonical(base, blen)' failed. $ [0] Regards, Gerrit. [0] http://bugs.debian.org/359679 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH/rfc] git-svn.perl: workaround assertions in svn library 1.5.0 2008-07-17 14:08 ` Gerrit Pape @ 2008-07-17 18:37 ` Dmitry Potapov 2008-07-20 1:27 ` Junio C Hamano 0 siblings, 1 reply; 8+ messages in thread From: Dmitry Potapov @ 2008-07-17 18:37 UTC (permalink / raw) To: Gerrit Pape; +Cc: git, Eric Wong On Thu, Jul 17, 2008 at 6:08 PM, Gerrit Pape <pape@smarden.org> wrote: > > Hi, while this commit fixed the selftests, it unfortunately is a > regression > > http://thread.gmane.org/gmane.comp.version-control.git/87822/ > http://bugs.debian.org/490400 This particular breakage is easy to fix: diff --git a/git-svn.perl b/git-svn.perl index 3750e47..a5a5b1b 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -1226,7 +1226,7 @@ sub linearize_history { sub find_file_type_and_diff_status { my ($path) = @_; - return ('dir', '') if $path eq '.'; + return ('dir', '') if $path eq ''; my $diff_output = command_oneline(qw(diff --cached --name-status --), $path) || ""; but it could be some other places in git-svn that may need correction too. > > I'm still not sure whether this is a git-svn problem, or actually a > problem in subversion 1.5.0 Accordingly to SVN developers you do not use SVN API correctly, therefore you got assert. So, the problem in git-svn. http://svn.haxx.se/dev/archive-2008-01/0425.shtml Dmitry ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH/rfc] git-svn.perl: workaround assertions in svn library 1.5.0 2008-07-17 18:37 ` Dmitry Potapov @ 2008-07-20 1:27 ` Junio C Hamano 2008-07-20 20:14 ` Dmitry Potapov 0 siblings, 1 reply; 8+ messages in thread From: Junio C Hamano @ 2008-07-20 1:27 UTC (permalink / raw) To: Dmitry Potapov; +Cc: Gerrit Pape, git, Eric Wong "Dmitry Potapov" <dpotapov@gmail.com> writes: > On Thu, Jul 17, 2008 at 6:08 PM, Gerrit Pape <pape@smarden.org> wrote: >> >> Hi, while this commit fixed the selftests, it unfortunately is a >> regression >> >> http://thread.gmane.org/gmane.comp.version-control.git/87822/ >> http://bugs.debian.org/490400 > > This particular breakage is easy to fix: > > diff --git a/git-svn.perl b/git-svn.perl > index 3750e47..a5a5b1b 100755 > --- a/git-svn.perl > +++ b/git-svn.perl > @@ -1226,7 +1226,7 @@ sub linearize_history { > > sub find_file_type_and_diff_status { > my ($path) = @_; > - return ('dir', '') if $path eq '.'; > + return ('dir', '') if $path eq ''; > > my $diff_output = > command_oneline(qw(diff --cached --name-status --), $path) || ""; > > but it could be some other places in git-svn that may need correction too. > >> >> I'm still not sure whether this is a git-svn problem, or actually a >> problem in subversion 1.5.0 > > Accordingly to SVN developers you do not use SVN API correctly, > therefore you got assert. So, the problem in git-svn. > http://svn.haxx.se/dev/archive-2008-01/0425.shtml So what's the conclusion of this issue? I'll just revert 2fe403e (git-svn.perl: workaround assertions in svn library 1.5.0, 2008-07-06) for 1.6.0-rc0 unless I hear better suggestions. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH/rfc] git-svn.perl: workaround assertions in svn library 1.5.0 2008-07-20 1:27 ` Junio C Hamano @ 2008-07-20 20:14 ` Dmitry Potapov 2008-07-21 1:29 ` Eric Wong 0 siblings, 1 reply; 8+ messages in thread From: Dmitry Potapov @ 2008-07-20 20:14 UTC (permalink / raw) To: Junio C Hamano; +Cc: Gerrit Pape, git, Eric Wong On Sat, Jul 19, 2008 at 06:27:36PM -0700, Junio C Hamano wrote: > > So what's the conclusion of this issue? > > I'll just revert 2fe403e (git-svn.perl: workaround assertions in svn > library 1.5.0, 2008-07-06) for 1.6.0-rc0 unless I hear better > suggestions. I have tested the change that I proposed, and it seems to solve the problem and, as far as I can tell, no other correction is necessary. Yet, I don't really understand git-svn well, so I could be wrong. Reverting 2fe403e will only help users of svn library 1.4, while all new linux distributives, which will include Git 1.6.0, are going to install svn library 1.5.0, and if you use svn library 1.5.0, reverting 2fe403e does not fix anything but only add one more bug. Thus, unless we are going to require to install git-svn only with svn library 1.4, reverting this change does not seem to be very helpful for most users. So, I hope my patch is better solution... Dmitry -- 8< -- From: Dmitry Potapov <dpotapov@gmail.com> Date: Thu, 17 Jul 2008 22:32:02 +0400 Subject: [PATCH] git-svn: fix git svn info to work without arguments commit 2fe403e7452bd6e1e8232445cf5434ce8f1af973 broke "git-svn info ." due to replacing '.' with '' in canonicalize_path for the top directory, while find_file_type_and_diff_status was not corrected. Bug reports: http://thread.gmane.org/gmane.comp.version-control.git/87822/ http://bugs.debian.org/490400 Signed-off-by: Dmitry Potapov <dpotapov@gmail.com> --- git-svn.perl | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/git-svn.perl b/git-svn.perl index a366c89..b00a91a 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -1226,7 +1226,7 @@ sub linearize_history { sub find_file_type_and_diff_status { my ($path) = @_; - return ('dir', '') if $path eq '.'; + return ('dir', '') if $path eq ''; my $diff_output = command_oneline(qw(diff --cached --name-status --), $path) || ""; -- 1.5.6.3 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH/rfc] git-svn.perl: workaround assertions in svn library 1.5.0 2008-07-20 20:14 ` Dmitry Potapov @ 2008-07-21 1:29 ` Eric Wong 2008-07-21 1:54 ` Junio C Hamano 0 siblings, 1 reply; 8+ messages in thread From: Eric Wong @ 2008-07-21 1:29 UTC (permalink / raw) To: Dmitry Potapov; +Cc: Junio C Hamano, Gerrit Pape, git Dmitry Potapov <dpotapov@gmail.com> wrote: > On Sat, Jul 19, 2008 at 06:27:36PM -0700, Junio C Hamano wrote: > > > > So what's the conclusion of this issue? > > > > I'll just revert 2fe403e (git-svn.perl: workaround assertions in svn > > library 1.5.0, 2008-07-06) for 1.6.0-rc0 unless I hear better > > suggestions. > > I have tested the change that I proposed, and it seems to solve the > problem and, as far as I can tell, no other correction is necessary. > Yet, I don't really understand git-svn well, so I could be wrong. > > Reverting 2fe403e will only help users of svn library 1.4, while all > new linux distributives, which will include Git 1.6.0, are going to > install svn library 1.5.0, and if you use svn library 1.5.0, reverting > 2fe403e does not fix anything but only add one more bug. Thus, unless > we are going to require to install git-svn only with svn library 1.4, > reverting this change does not seem to be very helpful for most users. > > So, I hope my patch is better solution... > > Dmitry Thanks Dmitry, Your patch works for me on 1.4.3, so if it works with 1.5.0, consider it: Acked-by: Eric Wong <normalperson@yhbt.net> -- Eric Wong ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH/rfc] git-svn.perl: workaround assertions in svn library 1.5.0 2008-07-21 1:29 ` Eric Wong @ 2008-07-21 1:54 ` Junio C Hamano 0 siblings, 0 replies; 8+ messages in thread From: Junio C Hamano @ 2008-07-21 1:54 UTC (permalink / raw) To: Eric Wong; +Cc: Dmitry Potapov, Gerrit Pape, git Thanks, both. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-07-21 1:55 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-07-06 19:28 [PATCH/rfc] git-svn.perl: workaround assertions in svn library 1.5.0 Gerrit Pape 2008-07-07 9:06 ` Eric Wong 2008-07-17 14:08 ` Gerrit Pape 2008-07-17 18:37 ` Dmitry Potapov 2008-07-20 1:27 ` Junio C Hamano 2008-07-20 20:14 ` Dmitry Potapov 2008-07-21 1:29 ` Eric Wong 2008-07-21 1:54 ` Junio C Hamano
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).