git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git-svnimport breakage as of git-1.4.4
@ 2006-12-07 15:26 Daniel Drake
  2006-12-08 20:32 ` Sasha Khapyorsky
  0 siblings, 1 reply; 19+ messages in thread
From: Daniel Drake @ 2006-12-07 15:26 UTC (permalink / raw)
  To: git; +Cc: sashak

Hi,

git-svnimport broken between git-1.4.3.5 and git-1.4.4

I have found that commit 83936a29e275bc0c04f60d3333e4951a9e16b1fc is the
cause of this.

I am using git-svnimport to work with a repo with this layout:

https://server/repo/trunk
https://server/repo/tags/x.y.z
https://server/repo/branches/somebranch

Starting a fresh import:

# git-svnimport -v -i -C repo -r https://server repo

Fetching from 1 to 10707 ...
Tree ID 4b825dc642cb6eb9a060e54bf8d69288fbee4904
Committed change 1:/ 2004-12-22 22:53:27)
Committing initial tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
Commit ID 2614c05ac4c5f24eb89cea056a7d46c909084d8c
Writing to refs/heads/origin
DONE: 1 origin 2614c05ac4c5f24eb89cea056a7d46c909084d8c
RA layer request failed: PROPFIND request failed on '/trunk/.cvsignore':
PROPFIND of '/trunk/.cvsignore': 405 Method Not Allowed (https://server)
at /usr/bin/git-svnimport line 358


According to the server logs, git is requesting /trunk/.cvsignore rather
than /repo/trunk/.cvsignore

I'm happy to test patches and whatnot but don't have time to investigate
further right now.

Thanks!
-- 
Daniel Drake
Brontes Technologies, A 3M Company

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-07 15:26 git-svnimport breakage as of git-1.4.4 Daniel Drake
@ 2006-12-08 20:32 ` Sasha Khapyorsky
  2006-12-10  3:49   ` Dongsheng Song
  2006-12-11 14:27   ` Daniel Drake
  0 siblings, 2 replies; 19+ messages in thread
From: Sasha Khapyorsky @ 2006-12-08 20:32 UTC (permalink / raw)
  To: Daniel Drake; +Cc: git

Hi,

On 10:26 Thu 07 Dec     , Daniel Drake wrote:
> 
> git-svnimport broken between git-1.4.3.5 and git-1.4.4
> 
> I have found that commit 83936a29e275bc0c04f60d3333e4951a9e16b1fc is the
> cause of this.
> 
> I am using git-svnimport to work with a repo with this layout:
> 
> https://server/repo/trunk
> https://server/repo/tags/x.y.z
> https://server/repo/branches/somebranch
> 
> Starting a fresh import:
> 
> # git-svnimport -v -i -C repo -r https://server repo

Is this 'server' public? Can I rerun this git-svnimport?

If not, please try the patch:


diff --git a/git-svnimport.perl b/git-svnimport.perl
index cbaa8ab..b9de446 100755
--- a/git-svnimport.perl
+++ b/git-svnimport.perl
@@ -210,6 +210,12 @@ $svn .= "/$svn_dir" if defined $svn_dir;
 my $svn2 = SVNconn->new($svn);
 $svn = SVNconn->new($svn);
 
+if($svn_dir) {
+	$svn_dir =~ s#/*$#/#;
+} else {
+	$svn_dir = "";
+}
+
 my $lwp_ua;
 if($opt_d or $opt_D) {
 	$svn_url = URI->new($svn_url)->canonical;
@@ -906,7 +912,7 @@ sub commit_all {
 	my ($changed_paths, $revision, $author, $date, $message, $pool) = @_;
 	my %p;
 	while(my($path,$action) = each %$changed_paths) {
-		$p{$path} = [ $action->action,$action->copyfrom_path, $action->copyfrom_rev, $path ];
+		$p{$path} = [ $action->action,$svn_dir$action->copyfrom_path, $action->copyfrom_rev, $svn_dir$path ];
 	}
 	$changed_paths = \%p;
 

Thanks,

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-08 20:32 ` Sasha Khapyorsky
@ 2006-12-10  3:49   ` Dongsheng Song
  2006-12-10 11:47     ` Sasha Khapyorsky
  2006-12-11 14:27   ` Daniel Drake
  1 sibling, 1 reply; 19+ messages in thread
From: Dongsheng Song @ 2006-12-10  3:49 UTC (permalink / raw)
  To: Sasha Khapyorsky; +Cc: Daniel Drake, git

I met the broken too, when I downgrade to 1.4.3.4, it's fine.

I have not test your patch, but you can try your self,

http://tortoisesvn.tigris.org/svn/tortoisesvn

and the master branch(today) fail between r6000~r7000 too

2006/12/9, Sasha Khapyorsky <sashak@voltaire.com>:
> Hi,
>
> On 10:26 Thu 07 Dec     , Daniel Drake wrote:
> >
> > git-svnimport broken between git-1.4.3.5 and git-1.4.4
> >
>
> Is this 'server' public? Can I rerun this git-svnimport?
>
> If not, please try the patch:

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-10  3:49   ` Dongsheng Song
@ 2006-12-10 11:47     ` Sasha Khapyorsky
  2006-12-11 20:00       ` Dongsheng Song
  0 siblings, 1 reply; 19+ messages in thread
From: Sasha Khapyorsky @ 2006-12-10 11:47 UTC (permalink / raw)
  To: Dongsheng Song; +Cc: Daniel Drake, git

On 11:49 Sun 10 Dec     , Dongsheng Song wrote:
> I met the broken too, when I downgrade to 1.4.3.4, it's fine.
> 
> I have not test your patch, but you can try your self,
> 
> http://tortoisesvn.tigris.org/svn/tortoisesvn
> 
> and the master branch(today) fail between r6000~r7000 too

Thanks for the link. but I cannot access - this requires
username/password authentication.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-08 20:32 ` Sasha Khapyorsky
  2006-12-10  3:49   ` Dongsheng Song
@ 2006-12-11 14:27   ` Daniel Drake
  2006-12-11 20:49     ` Sasha Khapyorsky
  1 sibling, 1 reply; 19+ messages in thread
From: Daniel Drake @ 2006-12-11 14:27 UTC (permalink / raw)
  To: Sasha Khapyorsky; +Cc: git

On Fri, 2006-12-08 at 22:32 +0200, Sasha Khapyorsky wrote:
> > # git-svnimport -v -i -C repo -r https://server repo
> 
> Is this 'server' public? Can I rerun this git-svnimport?

Sorry, it is not.

> @@ -906,7 +912,7 @@ sub commit_all {
>  	my ($changed_paths, $revision, $author, $date, $message, $pool) = @_;
>  	my %p;
>  	while(my($path,$action) = each %$changed_paths) {
> -		$p{$path} = [ $action->action,$action->copyfrom_path, $action->copyfrom_rev, $path ];
> +		$p{$path} = [ $action->action,$svn_dir$action->copyfrom_path, $action->copyfrom_rev, $svn_dir$path ];

This is not valid perl - I think you wanted $svn_dir . $path

After making that modification it's not fixed though:

Fetching from 1 to 10742 ...
Tree ID 4b825dc642cb6eb9a060e54bf8d69288fbee4904
Committed change 1:/ 2004-12-22 22:53:27)
Committing initial tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
Commit ID 2614c05ac4c5f24eb89cea056a7d46c909084d8c
Writing to refs/heads/origin
DONE: 1 origin 2614c05ac4c5f24eb89cea056a7d46c909084d8c
perl: subversion/libsvn_subr/path.c:377: svn_path_basename: Assertion
`is_canonical (path, len)' failed.
Aborted

-- 
Daniel Drake
Brontes Technologies, A 3M Company

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-10 11:47     ` Sasha Khapyorsky
@ 2006-12-11 20:00       ` Dongsheng Song
  2006-12-11 20:50         ` Sasha Khapyorsky
  0 siblings, 1 reply; 19+ messages in thread
From: Dongsheng Song @ 2006-12-11 20:00 UTC (permalink / raw)
  To: Sasha Khapyorsky; +Cc: Daniel Drake, git

Sorry, I assume you have see http://tortoisesvn.tigris.org/:

username : guest
password : ""

2006/12/10, Sasha Khapyorsky <sashak@voltaire.com>:
> On 11:49 Sun 10 Dec     , Dongsheng Song wrote:
> > I met the broken too, when I downgrade to 1.4.3.4, it's fine.
> >
> > I have not test your patch, but you can try your self,
> >
> > http://tortoisesvn.tigris.org/svn/tortoisesvn
> >
> > and the master branch(today) fail between r6000~r7000 too
>
> Thanks for the link. but I cannot access - this requires
> username/password authentication.
>
> Sasha

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-11 14:27   ` Daniel Drake
@ 2006-12-11 20:49     ` Sasha Khapyorsky
  2006-12-11 21:03       ` Daniel Drake
  2006-12-13 16:28       ` Daniel Drake
  0 siblings, 2 replies; 19+ messages in thread
From: Sasha Khapyorsky @ 2006-12-11 20:49 UTC (permalink / raw)
  To: Daniel Drake; +Cc: git

On 09:27 Mon 11 Dec     , Daniel Drake wrote:
> On Fri, 2006-12-08 at 22:32 +0200, Sasha Khapyorsky wrote:
> > > # git-svnimport -v -i -C repo -r https://server repo
> > 
> > Is this 'server' public? Can I rerun this git-svnimport?
> 
> Sorry, it is not.
> 
> > @@ -906,7 +912,7 @@ sub commit_all {
> >  	my ($changed_paths, $revision, $author, $date, $message, $pool) = @_;
> >  	my %p;
> >  	while(my($path,$action) = each %$changed_paths) {
> > -		$p{$path} = [ $action->action,$action->copyfrom_path, $action->copyfrom_rev, $path ];
> > +		$p{$path} = [ $action->action,$svn_dir$action->copyfrom_path, $action->copyfrom_rev, $svn_dir$path ];
> 
> This is not valid perl - I think you wanted $svn_dir . $path

Yes, sorry.

> 
> After making that modification it's not fixed though:
> 
> Fetching from 1 to 10742 ...
> Tree ID 4b825dc642cb6eb9a060e54bf8d69288fbee4904
> Committed change 1:/ 2004-12-22 22:53:27)
> Committing initial tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
> Commit ID 2614c05ac4c5f24eb89cea056a7d46c909084d8c
> Writing to refs/heads/origin
> DONE: 1 origin 2614c05ac4c5f24eb89cea056a7d46c909084d8c
> perl: subversion/libsvn_subr/path.c:377: svn_path_basename: Assertion
> `is_canonical (path, len)' failed.
> Aborted

Maybe I'm starting to understand. Your svn url (url which points to svn
repository) is https://server/repo and not just https://server, right?

If so, please remove the patch (you don't need it) and rerun:

  git-svnimport -v -i -C repo -r https://server/repo



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-11 20:00       ` Dongsheng Song
@ 2006-12-11 20:50         ` Sasha Khapyorsky
  2006-12-11 21:01           ` Dongsheng Song
  0 siblings, 1 reply; 19+ messages in thread
From: Sasha Khapyorsky @ 2006-12-11 20:50 UTC (permalink / raw)
  To: Dongsheng Song; +Cc: Daniel Drake, git

On 04:00 Tue 12 Dec     , Dongsheng Song wrote:
> Sorry, I assume you have see http://tortoisesvn.tigris.org/:
> 
> username : guest
> password : ""

Thanks, I can grab svn log now. Which command line you are using?


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-11 20:50         ` Sasha Khapyorsky
@ 2006-12-11 21:01           ` Dongsheng Song
  2006-12-14  2:25             ` Sasha Khapyorsky
  0 siblings, 1 reply; 19+ messages in thread
From: Dongsheng Song @ 2006-12-11 21:01 UTC (permalink / raw)
  To: Sasha Khapyorsky; +Cc: Daniel Drake, git

$ cat svn2git-tortoisesvn.sh
#!/bin/sh

export LC_ALL=C
export WC_ROOT=/home/cauchy/wc/git
export REPO_NAME=tortoisesvn

echo "[`date`] Start import & pack ..."
mr=0
while [ $mr -le 9000 ]; do

    if test -f $WC_ROOT/$REPO_NAME/.git/SVN2GIT_HEAD; then
        echo "[`date`] clean up ..."
        cd $WC_ROOT/$REPO_NAME
        git-read-tree -m -u SVN2GIT_HEAD HEAD && rm -f .git/SVN2GIT_HEAD
        echo "[`date`] clean up finished"
    fi

    mr=$(($mr + 1000))
    echo "[`date`] Start import up to revison $mr ..."

    git-svnimport -v -i -r -o master -l $mr -C $WC_ROOT/$REPO_NAME
http://tortoisesvn.tigris.org/svn/tortoisesvn

    echo "[`date`] Finish import up to revison $mr"

    cd $WC_ROOT/$REPO_NAME && git-repack -a -d --window=64 --depth=64

    echo "[`date`] Finish repack revison $mr"
    cd $WC_ROOT/$REPO_NAME && find .git -name pack | xargs ls -l
done
echo "[`date`] Finished import & pack"


2006/12/12, Sasha Khapyorsky <sashak@voltaire.com>:
> On 04:00 Tue 12 Dec     , Dongsheng Song wrote:
> > Sorry, I assume you have see http://tortoisesvn.tigris.org/:
> >
> > username : guest
> > password : ""
>
> Thanks, I can grab svn log now. Which command line you are using?
>
> Sasha

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-11 20:49     ` Sasha Khapyorsky
@ 2006-12-11 21:03       ` Daniel Drake
  2006-12-11 22:03         ` Sasha Khapyorsky
  2006-12-13 16:28       ` Daniel Drake
  1 sibling, 1 reply; 19+ messages in thread
From: Daniel Drake @ 2006-12-11 21:03 UTC (permalink / raw)
  To: Sasha Khapyorsky; +Cc: git

On Mon, 2006-12-11 at 22:49 +0200, Sasha Khapyorsky wrote:
> Maybe I'm starting to understand. Your svn url (url which points to svn
> repository) is https://server/repo and not just https://server, right?

Yes, and then under that we have https://server/repo/trunk

> If so, please remove the patch (you don't need it) and rerun:
> 
>   git-svnimport -v -i -C repo -r https://server/repo

Ah, that fixes it. However, in versions before 1.4.4, either invokation
style works.

Thanks,
-- 
Daniel Drake
Brontes Technologies, A 3M Company

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-11 21:03       ` Daniel Drake
@ 2006-12-11 22:03         ` Sasha Khapyorsky
  0 siblings, 0 replies; 19+ messages in thread
From: Sasha Khapyorsky @ 2006-12-11 22:03 UTC (permalink / raw)
  To: Daniel Drake; +Cc: git

On 16:03 Mon 11 Dec     , Daniel Drake wrote:
> On Mon, 2006-12-11 at 22:49 +0200, Sasha Khapyorsky wrote:
> > Maybe I'm starting to understand. Your svn url (url which points to svn
> > repository) is https://server/repo and not just https://server, right?
> 
> Yes, and then under that we have https://server/repo/trunk
> 
> > If so, please remove the patch (you don't need it) and rerun:
> > 
> >   git-svnimport -v -i -C repo -r https://server/repo
> 
> Ah, that fixes it. However, in versions before 1.4.4, either invokation
> style works.

Frankly I think that it was bug. And I will see how to restore this. :)


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-11 20:49     ` Sasha Khapyorsky
  2006-12-11 21:03       ` Daniel Drake
@ 2006-12-13 16:28       ` Daniel Drake
  2006-12-14  2:21         ` Sasha Khapyorsky
  1 sibling, 1 reply; 19+ messages in thread
From: Daniel Drake @ 2006-12-13 16:28 UTC (permalink / raw)
  To: Sasha Khapyorsky; +Cc: git

On Mon, 2006-12-11 at 22:49 +0200, Sasha Khapyorsky wrote:
> Maybe I'm starting to understand. Your svn url (url which points to svn
> repository) is https://server/repo and not just https://server, right?
> 
> If so, please remove the patch (you don't need it) and rerun:
> 
>   git-svnimport -v -i -C repo -r https://server/repo

Sorry, apparently I was using the wrong git-svnimport in my last mail.
The above command, with or without your svn_dir patch, doesn't solve the
problem.

With your patch:

# git-svnimport -v -i -C repo -r https://server/repo

RA layer request failed: PROPFIND request failed on '/trunk/.cvsignore':
PROPFIND of '/trunk/.cvsignore': 405 Method Not Allowed (https://svn) at
git-svnimport line 364

# git-svnimport -v -i -C repo -r https://server repo
perl: subversion/libsvn_subr/path.c:377: svn_path_basename: Assertion
`is_canonical (path, len)' failed.
Aborted


Without the patch, the error is the same as the 1st case in both
situations.

-- 
Daniel Drake
Brontes Technologies, A 3M Company

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-13 16:28       ` Daniel Drake
@ 2006-12-14  2:21         ` Sasha Khapyorsky
  2006-12-14 21:05           ` Daniel Drake
  0 siblings, 1 reply; 19+ messages in thread
From: Sasha Khapyorsky @ 2006-12-14  2:21 UTC (permalink / raw)
  To: Daniel Drake; +Cc: git

On 11:28 Wed 13 Dec     , Daniel Drake wrote:
> 
> Sorry, apparently I was using the wrong git-svnimport in my last mail.
> The above command, with or without your svn_dir patch, doesn't solve the
> problem.
> 
> With your patch:

Original patch is wrong, so only w/out this patch.

> 
> # git-svnimport -v -i -C repo -r https://server/repo
> 
> RA layer request failed: PROPFIND request failed on '/trunk/.cvsignore':
> PROPFIND of '/trunk/.cvsignore': 405 Method Not Allowed (https://svn) at
> git-svnimport line 364
> 
> Without the patch, the error is the same as the 1st case in both
> situations.

Try this please:


diff --git a/git-svnimport.perl b/git-svnimport.perl
index cbaa8ab..071777b 100755
--- a/git-svnimport.perl
+++ b/git-svnimport.perl
@@ -146,6 +146,7 @@ sub file {
 	print "... $rev $path ...\n" if $opt_v;
 	my (undef, $properties);
 	my $pool = SVN::Pool->new();
+	$path =~ s#^/*##;
 	eval { (undef, $properties)
 		   = $self->{'svn'}->get_file($path,$rev,$fh,$pool); };
 	$pool->clear;
@@ -181,6 +182,7 @@ sub ignore {
 	my($self,$path,$rev) = @_;
 
 	print "... $rev $path ...\n" if $opt_v;
+	$path =~ s#^/*##;
 	my (undef,undef,$properties)
 	    = $self->{'svn'}->get_dir($path,$rev,undef);
 	if (exists $properties->{'svn:ignore'}) {
@@ -197,6 +199,7 @@ sub ignore {
 
 sub dir_list {
 	my($self,$path,$rev) = @_;
+	$path =~ s#^/*##;
 	my ($dirents,undef,$properties)
 	    = $self->{'svn'}->get_dir($path,$rev,undef);
 	return $dirents;
@@ -354,6 +357,7 @@ open BRANCHES,">>", "$git_dir/svn2git";
 sub node_kind($$) {
 	my ($svnpath, $revision) = @_;
 	my $pool=SVN::Pool->new;
+	$svnpath =~ s#^/*##;
 	my $kind = $svn->{'svn'}->check_path($svnpath,$revision,$pool);
 	$pool->clear;
 	return $kind;

Thanks,

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-11 21:01           ` Dongsheng Song
@ 2006-12-14  2:25             ` Sasha Khapyorsky
  0 siblings, 0 replies; 19+ messages in thread
From: Sasha Khapyorsky @ 2006-12-14  2:25 UTC (permalink / raw)
  To: Dongsheng Song; +Cc: Daniel Drake, git

On 05:01 Tue 12 Dec     , Dongsheng Song wrote:
> 
>    git-svnimport -v -i -r -o master -l $mr -C $WC_ROOT/$REPO_NAME
> http://tortoisesvn.tigris.org/svn/tortoisesvn

Thanks.

I'm running now git-svnimport against
http://tortoisesvn.tigris.org/svn/tortoisesvn with follow patch:


diff --git a/git-svnimport.perl b/git-svnimport.perl
index cbaa8ab..071777b 100755
--- a/git-svnimport.perl
+++ b/git-svnimport.perl
@@ -146,6 +146,7 @@ sub file {
 	print "... $rev $path ...\n" if $opt_v;
 	my (undef, $properties);
 	my $pool = SVN::Pool->new();
+	$path =~ s#^/*##;
 	eval { (undef, $properties)
 		   = $self->{'svn'}->get_file($path,$rev,$fh,$pool); };
 	$pool->clear;
@@ -181,6 +182,7 @@ sub ignore {
 	my($self,$path,$rev) = @_;
 
 	print "... $rev $path ...\n" if $opt_v;
+	$path =~ s#^/*##;
 	my (undef,undef,$properties)
 	    = $self->{'svn'}->get_dir($path,$rev,undef);
 	if (exists $properties->{'svn:ignore'}) {
@@ -197,6 +199,7 @@ sub ignore {
 
 sub dir_list {
 	my($self,$path,$rev) = @_;
+	$path =~ s#^/*##;
 	my ($dirents,undef,$properties)
 	    = $self->{'svn'}->get_dir($path,$rev,undef);
 	return $dirents;
@@ -354,6 +357,7 @@ open BRANCHES,">>", "$git_dir/svn2git";
 sub node_kind($$) {
 	my ($svnpath, $revision) = @_;
 	my $pool=SVN::Pool->new;
+	$svnpath =~ s#^/*##;
 	my $kind = $svn->{'svn'}->check_path($svnpath,$revision,$pool);
 	$pool->clear;
 	return $kind;


And it works up to now.

This is the same patch as recently posted to Daniel. Could you try?


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-14  2:21         ` Sasha Khapyorsky
@ 2006-12-14 21:05           ` Daniel Drake
  2006-12-14 21:20             ` Sasha Khapyorsky
  0 siblings, 1 reply; 19+ messages in thread
From: Daniel Drake @ 2006-12-14 21:05 UTC (permalink / raw)
  To: Sasha Khapyorsky; +Cc: git

On Thu, 2006-12-14 at 04:21 +0200, Sasha Khapyorsky wrote:
> Try this please:
> 
> 
> diff --git a/git-svnimport.perl b/git-svnimport.perl
> index cbaa8ab..071777b 100755
> --- a/git-svnimport.perl
> +++ b/git-svnimport.perl

Thanks, it now works for both forms of command line arguments.

-- 
Daniel Drake
Brontes Technologies, A 3M Company

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-14 21:05           ` Daniel Drake
@ 2006-12-14 21:20             ` Sasha Khapyorsky
  2006-12-14 21:32               ` Junio C Hamano
  0 siblings, 1 reply; 19+ messages in thread
From: Sasha Khapyorsky @ 2006-12-14 21:20 UTC (permalink / raw)
  To: Daniel Drake; +Cc: git, Dongsheng Song

On 16:05 Thu 14 Dec     , Daniel Drake wrote:
> On Thu, 2006-12-14 at 04:21 +0200, Sasha Khapyorsky wrote:
> > Try this please:
> > 
> > 
> > diff --git a/git-svnimport.perl b/git-svnimport.perl
> > index cbaa8ab..071777b 100755
> > --- a/git-svnimport.perl
> > +++ b/git-svnimport.perl
> 
> Thanks, it now works for both forms of command line arguments.

Thanks for reporting. I still run git-svnimport against
http://tortoisesvn.tigris.org/svn/tortoisesvn, works fine up to now.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-14 21:20             ` Sasha Khapyorsky
@ 2006-12-14 21:32               ` Junio C Hamano
  2006-12-14 21:43                 ` Sasha Khapyorsky
  0 siblings, 1 reply; 19+ messages in thread
From: Junio C Hamano @ 2006-12-14 21:32 UTC (permalink / raw)
  To: Sasha Khapyorsky; +Cc: git

Sasha Khapyorsky <sashak@voltaire.com> writes:

> On 16:05 Thu 14 Dec     , Daniel Drake wrote:
>> On Thu, 2006-12-14 at 04:21 +0200, Sasha Khapyorsky wrote:
>> > Try this please:
>> > 
>> > 
>> > diff --git a/git-svnimport.perl b/git-svnimport.perl
>> > index cbaa8ab..071777b 100755
>> > --- a/git-svnimport.perl
>> > +++ b/git-svnimport.perl
>> 
>> Thanks, it now works for both forms of command line arguments.
>
> Thanks for reporting. I still run git-svnimport against
> http://tortoisesvn.tigris.org/svn/tortoisesvn, works fine up to now.

An applicable version of the patch with proposed commit log
message would be much appreciated.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: git-svnimport breakage as of git-1.4.4
  2006-12-14 21:32               ` Junio C Hamano
@ 2006-12-14 21:43                 ` Sasha Khapyorsky
  2007-01-07  0:22                   ` [PATCH] git-svnimport: clean svn path when accessing SVN repo Sasha Khapyorsky
  0 siblings, 1 reply; 19+ messages in thread
From: Sasha Khapyorsky @ 2006-12-14 21:43 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On 13:32 Thu 14 Dec     , Junio C Hamano wrote:
> >
> > Thanks for reporting. I still run git-svnimport against
> > http://tortoisesvn.tigris.org/svn/tortoisesvn, works fine up to now.
> 
> An applicable version of the patch with proposed commit log
> message would be much appreciated.

Sure.

Wanted at least to finish the test (it is running yet), then will
submit the patch in conventional way.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH] git-svnimport: clean svn path when accessing SVN repo
  2006-12-14 21:43                 ` Sasha Khapyorsky
@ 2007-01-07  0:22                   ` Sasha Khapyorsky
  0 siblings, 0 replies; 19+ messages in thread
From: Sasha Khapyorsky @ 2007-01-07  0:22 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Clean svn path from leading '/' when accessing SVN repo.

Signed-off-by: Sasha Khapyorsky <sashak@voltaire.com>
---

This fixes git-svnimport problems reported in this thread ("git-svnimport
breakage as of git-1.4.4"). Finally I forgot to submit this then, sorry
about that.

 git-svnimport.perl |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/git-svnimport.perl b/git-svnimport.perl
index cbaa8ab..071777b 100755
--- a/git-svnimport.perl
+++ b/git-svnimport.perl
@@ -146,6 +146,7 @@ sub file {
 	print "... $rev $path ...\n" if $opt_v;
 	my (undef, $properties);
 	my $pool = SVN::Pool->new();
+	$path =~ s#^/*##;
 	eval { (undef, $properties)
 		   = $self->{'svn'}->get_file($path,$rev,$fh,$pool); };
 	$pool->clear;
@@ -181,6 +182,7 @@ sub ignore {
 	my($self,$path,$rev) = @_;
 
 	print "... $rev $path ...\n" if $opt_v;
+	$path =~ s#^/*##;
 	my (undef,undef,$properties)
 	    = $self->{'svn'}->get_dir($path,$rev,undef);
 	if (exists $properties->{'svn:ignore'}) {
@@ -197,6 +199,7 @@ sub ignore {
 
 sub dir_list {
 	my($self,$path,$rev) = @_;
+	$path =~ s#^/*##;
 	my ($dirents,undef,$properties)
 	    = $self->{'svn'}->get_dir($path,$rev,undef);
 	return $dirents;
@@ -354,6 +357,7 @@ open BRANCHES,">>", "$git_dir/svn2git";
 sub node_kind($$) {
 	my ($svnpath, $revision) = @_;
 	my $pool=SVN::Pool->new;
+	$svnpath =~ s#^/*##;
 	my $kind = $svn->{'svn'}->check_path($svnpath,$revision,$pool);
 	$pool->clear;
 	return $kind;
-- 
1.5.0.rc0.g2484-dirty

^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2007-01-07  0:14 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-07 15:26 git-svnimport breakage as of git-1.4.4 Daniel Drake
2006-12-08 20:32 ` Sasha Khapyorsky
2006-12-10  3:49   ` Dongsheng Song
2006-12-10 11:47     ` Sasha Khapyorsky
2006-12-11 20:00       ` Dongsheng Song
2006-12-11 20:50         ` Sasha Khapyorsky
2006-12-11 21:01           ` Dongsheng Song
2006-12-14  2:25             ` Sasha Khapyorsky
2006-12-11 14:27   ` Daniel Drake
2006-12-11 20:49     ` Sasha Khapyorsky
2006-12-11 21:03       ` Daniel Drake
2006-12-11 22:03         ` Sasha Khapyorsky
2006-12-13 16:28       ` Daniel Drake
2006-12-14  2:21         ` Sasha Khapyorsky
2006-12-14 21:05           ` Daniel Drake
2006-12-14 21:20             ` Sasha Khapyorsky
2006-12-14 21:32               ` Junio C Hamano
2006-12-14 21:43                 ` Sasha Khapyorsky
2007-01-07  0:22                   ` [PATCH] git-svnimport: clean svn path when accessing SVN repo Sasha Khapyorsky

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