Skip to content

Commit

Permalink
Merge git://git.bogomips.org/git-svn
Browse files Browse the repository at this point in the history
* git://git.bogomips.org/git-svn:
  git svn: strip leading path when making empty dirs
  git svn: always reuse existing remotes on fetch
  • Loading branch information
Junio C Hamano committed Nov 23, 2009
2 parents 0a8a384 + 9be30ee commit c1c30ab
Showing 2 changed files with 28 additions and 0 deletions.
5 changes: 5 additions & 0 deletions git-svn.perl
Original file line number Diff line number Diff line change
@@ -428,6 +428,7 @@ sub cmd_fetch {
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) {
@@ -956,6 +957,7 @@ sub cmd_multi_init {
}

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}) {
@@ -2750,8 +2752,11 @@ sub mkemptydirs {
}
}
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";
23 changes: 23 additions & 0 deletions t/t9146-git-svn-empty-dirs.sh
Original file line number Diff line number Diff line change
@@ -82,4 +82,27 @@ test_expect_success 'git svn mkdirs -r works' '
)
'

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

0 comments on commit c1c30ab

Please sign in to comment.