author | Junio C Hamano <gitster@pobox.com> | |
Mon, 23 Nov 2009 03:01:15 +0000 (19:01 -0800) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Mon, 23 Nov 2009 03:01:15 +0000 (19:01 -0800) |
* git://git.bogomips.org/git-svn:
git svn: strip leading path when making empty dirs
git svn: always reuse existing remotes on fetch
git svn: strip leading path when making empty dirs
git svn: always reuse existing remotes on fetch
git-svn.perl | patch | blob | history | |
t/t9146-git-svn-empty-dirs.sh | patch | blob | history |
diff --git a/git-svn.perl b/git-svn.perl
index 2746895ae620a37c4b84419caf221db8f476e197..957d44e63004cef131fca5c7dad75e7049d15842 100755 (executable)
--- a/git-svn.perl
+++ b/git-svn.perl
if (@_ > 1) {
die "Usage: $0 fetch [--all] [--parent] [svn-remote]\n";
}
+ $Git::SVN::no_reuse_existing = undef;
if ($_fetch_parent) {
my ($url, $rev, $uuid, $gs) = working_head_info('HEAD');
unless ($gs) {
}
sub cmd_multi_fetch {
+ $Git::SVN::no_reuse_existing = undef;
my $remotes = Git::SVN::read_all_remotes();
foreach my $repo_id (sort keys %$remotes) {
if ($remotes->{$repo_id}->{url}) {
}
}
close $fh;
+
+ my $strip = qr/\A\Q$self->{path}\E(?:\/|$)/;
foreach my $d (sort keys %empty_dirs) {
$d = uri_decode($d);
+ $d =~ s/$strip//;
next if -d $d;
if (-e _) {
warn "$d exists but is not a directory\n";
index 5948544ec580dd6d55a9a0393792048a377e749a..70c52c1f9754934f1f868f998f3c007696799787 100755 (executable)
)
'
+test_expect_success 'initialize trunk' '
+ for i in trunk trunk/a trunk/"weird file name"
+ do
+ svn_cmd mkdir -m "mkdir $i" "$svnrepo"/"$i"
+ done
+'
+
+test_expect_success 'clone trunk' 'git svn clone -s "$svnrepo" trunk'
+
+test_expect_success 'empty directories in trunk exist' '
+ (
+ cd trunk &&
+ for i in a "weird file name"
+ do
+ if ! test -d "$i"
+ then
+ echo >&2 "$i does not exist"
+ exit 1
+ fi
+ done
+ )
+'
+
test_done