From: Junio C Hamano Date: Sat, 21 May 2011 01:50:29 +0000 (-0700) Subject: Merge branch 'maint' X-Git-Tag: v1.7.6-rc0~46 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/391b14278e59f46ceda3b055fdc12527bc2c87fb?ds=inline;hp=-c Merge branch 'maint' * maint: git-svn: Fix git svn log --show-commit --- 391b14278e59f46ceda3b055fdc12527bc2c87fb diff --combined git-svn.perl index 0fd2fd2188,da3fea8bd2..7849cfc141 --- a/git-svn.perl +++ b/git-svn.perl @@@ -784,15 -784,6 +784,15 @@@ sub cmd_find_rev print "$result\n" if $result; } +sub auto_create_empty_directories { + my ($gs) = @_; + my $var = eval { command_oneline('config', '--get', '--bool', + "svn-remote.$gs->{repo_id}.automkdirs") }; + # By default, create empty directories by consulting the unhandled log, + # but allow setting it to 'false' to skip it. + return !($var && $var eq 'false'); +} + sub cmd_rebase { command_noisy(qw/update-index --refresh/); my ($url, $rev, $uuid, $gs) = working_head_info('HEAD'); @@@ -816,9 -807,7 +816,9 @@@ $_fetch_all ? $gs->fetch_all : $gs->fetch; } command_noisy(rebase_cmd(), $gs->refname); - $gs->mkemptydirs; + if (auto_create_empty_directories($gs)) { + $gs->mkemptydirs; + } } sub cmd_show_ignore { @@@ -1256,9 -1245,7 +1256,9 @@@ sub post_fetch_checkout command_noisy(qw/read-tree -m -u -v HEAD HEAD/); print STDERR "Checked out HEAD:\n ", $gs->full_url, " r", $gs->last_rev, "\n"; - $gs->mkemptydirs($gs->last_rev); + if (auto_create_empty_directories($gs)) { + $gs->mkemptydirs($gs->last_rev); + } } sub complete_svn_url { @@@ -5765,7 -5752,7 +5765,7 @@@ sub cmd_show_log my (@k, $c, $d, $stat); my $esc_color = qr/(?:\033\[(?:(?:\d+;)*\d*)?m)*/; while (<$log>) { - if (/^${esc_color}commit (- )?($::sha1_short)/o) { + if (/^${esc_color}commit (?:- )?($::sha1_short)/o) { my $cmt = $1; if ($c && cmt_showable($c) && $c->{r} != $r_last) { $r_last = $c->{r};