Merge git://git.bogomips.org/git-svn

* git://git.bogomips.org/git-svn:
  git svn: strip leading path when making empty dirs
  git svn: always reuse existing remotes on fetch
This commit is contained in:
Junio C Hamano 2009-11-22 19:01:15 -08:00
commit c1c30ab31d
2 changed files with 28 additions and 0 deletions

View File

@ -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";

View File

@ -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