git-svn: fix following renamed paths when tracking a single path
When using git-svn to follow only a single (empty) path per
svn-remote (i.e. not using --stdlayout), following the history
of a renamed path was broken in
c586879cdf
.
This reverts the regression for the single (emtpy) path per
svn-remote case.
To avoid breaking the tests in a committed revision, this is an
addendum to a patch originally submitted by
Santhosh Kumar Mani <santhoshmani@gmail.com>:
> git-svn: add test for renamed directory fetch
>
> This test tries to fetch a directory which had renames in the
> history from a SVN repository.
[ew: unneccesary dependency on the starting an HTTP server
removed from Santhosh's original test.]
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
a1c0dca43a
commit
f61cc48d28
@ -2239,12 +2239,13 @@ sub find_parent_branch {
|
|||||||
# just grow a tail if we're not unique enough :x
|
# just grow a tail if we're not unique enough :x
|
||||||
$ref_id .= '-' while find_ref($ref_id);
|
$ref_id .= '-' while find_ref($ref_id);
|
||||||
print STDERR "Initializing parent: $ref_id\n";
|
print STDERR "Initializing parent: $ref_id\n";
|
||||||
my ($u, $p) = ($new_url, '');
|
my ($u, $p, $repo_id) = ($new_url, '', $ref_id);
|
||||||
if ($u =~ s#^\Q$url\E(/|$)##) {
|
if ($u =~ s#^\Q$url\E(/|$)##) {
|
||||||
$p = $u;
|
$p = $u;
|
||||||
$u = $url;
|
$u = $url;
|
||||||
|
$repo_id = $self->{repo_id};
|
||||||
}
|
}
|
||||||
$gs = Git::SVN->init($u, $p, $self->{repo_id}, $ref_id, 1);
|
$gs = Git::SVN->init($u, $p, $repo_id, $ref_id, 1);
|
||||||
}
|
}
|
||||||
my ($r0, $parent) = $gs->find_rev_before($r, 1);
|
my ($r0, $parent) = $gs->find_rev_before($r, 1);
|
||||||
if (!defined $r0 || !defined $parent) {
|
if (!defined $r0 || !defined $parent) {
|
||||||
|
20
t/t9121-git-svn-fetch-renamed-dir.sh
Executable file
20
t/t9121-git-svn-fetch-renamed-dir.sh
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2008 Santhosh Kumar Mani
|
||||||
|
|
||||||
|
|
||||||
|
test_description='git-svn can fetch renamed directories'
|
||||||
|
|
||||||
|
. ./lib-git-svn.sh
|
||||||
|
|
||||||
|
test_expect_success 'load repository with renamed directory' "
|
||||||
|
svnadmin load -q $rawsvnrepo < ../t9121/renamed-dir.dump
|
||||||
|
"
|
||||||
|
|
||||||
|
test_expect_success 'init and fetch repository' "
|
||||||
|
git svn init $svnrepo/newname &&
|
||||||
|
git svn fetch
|
||||||
|
"
|
||||||
|
|
||||||
|
test_done
|
||||||
|
|
90
t/t9121/renamed-dir.dump
Normal file
90
t/t9121/renamed-dir.dump
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
SVN-fs-dump-format-version: 2
|
||||||
|
|
||||||
|
UUID: 06b9b3ad-f546-4fbe-8328-fcb4e6ef5c3f
|
||||||
|
|
||||||
|
Revision-number: 0
|
||||||
|
Prop-content-length: 56
|
||||||
|
Content-length: 56
|
||||||
|
|
||||||
|
K 8
|
||||||
|
svn:date
|
||||||
|
V 27
|
||||||
|
2008-04-02T09:11:59.778557Z
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
Revision-number: 1
|
||||||
|
Prop-content-length: 117
|
||||||
|
Content-length: 117
|
||||||
|
|
||||||
|
K 7
|
||||||
|
svn:log
|
||||||
|
V 14
|
||||||
|
initial import
|
||||||
|
K 10
|
||||||
|
svn:author
|
||||||
|
V 8
|
||||||
|
santhosh
|
||||||
|
K 8
|
||||||
|
svn:date
|
||||||
|
V 27
|
||||||
|
2008-04-02T09:13:03.170863Z
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
Node-path: name
|
||||||
|
Node-kind: dir
|
||||||
|
Node-action: add
|
||||||
|
Prop-content-length: 10
|
||||||
|
Content-length: 10
|
||||||
|
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
|
||||||
|
Node-path: name/a.txt
|
||||||
|
Node-kind: file
|
||||||
|
Node-action: add
|
||||||
|
Prop-content-length: 71
|
||||||
|
Text-content-length: 6
|
||||||
|
Text-content-md5: b1946ac92492d2347c6235b4d2611184
|
||||||
|
Content-length: 77
|
||||||
|
|
||||||
|
K 13
|
||||||
|
svn:mime-type
|
||||||
|
V 10
|
||||||
|
text/plain
|
||||||
|
K 13
|
||||||
|
svn:eol-style
|
||||||
|
V 2
|
||||||
|
LF
|
||||||
|
PROPS-END
|
||||||
|
hello
|
||||||
|
|
||||||
|
|
||||||
|
Revision-number: 2
|
||||||
|
Prop-content-length: 109
|
||||||
|
Content-length: 109
|
||||||
|
|
||||||
|
K 7
|
||||||
|
svn:log
|
||||||
|
V 7
|
||||||
|
renamed
|
||||||
|
K 10
|
||||||
|
svn:author
|
||||||
|
V 8
|
||||||
|
santhosh
|
||||||
|
K 8
|
||||||
|
svn:date
|
||||||
|
V 27
|
||||||
|
2008-04-02T09:14:22.952186Z
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
Node-path: newname
|
||||||
|
Node-kind: dir
|
||||||
|
Node-action: add
|
||||||
|
Node-copyfrom-rev: 1
|
||||||
|
Node-copyfrom-path: name
|
||||||
|
|
||||||
|
|
||||||
|
Node-path: name
|
||||||
|
Node-action: delete
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user