summaryrefslogtreecommitdiff
path: root/git-svn.perl
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-10-05 08:36:10 -0700
committerJunio C Hamano <gitster@pobox.com>2010-10-05 08:36:15 -0700
commitd4da4bc764625a9d9d19aec61bc2bb0ddff30d2b (patch)
tree717b6141ab7e965aff7db8b45473e3495a918216 /git-svn.perl
parent2d2ef5ec82c912fcc5c06fa902c867d45cc8a53e (diff)
parent8565a568cdd8604d4b5a00e52c64064a8aebf690 (diff)
downloadgit-d4da4bc764625a9d9d19aec61bc2bb0ddff30d2b.tar.gz
Merge early part of git-svn into maint
* commit 'git-svn/master~1': git-svn: fix processing of decorated commit hashes git-svn: check_cherry_pick should exclude commits already in our history Documentation/git-svn: discourage "noMetadata"
Diffstat (limited to 'git-svn.perl')
-rwxr-xr-xgit-svn.perl7
1 files changed, 5 insertions, 2 deletions
diff --git a/git-svn.perl b/git-svn.perl
index 9b046b693f..18cfb2466d 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1513,7 +1513,8 @@ sub cmt_sha2rev_batch {
sub working_head_info {
my ($head, $refs) = @_;
- my @args = ('log', '--no-color', '--first-parent', '--pretty=medium');
+ my @args = qw/log --no-color --no-decorate --first-parent
+ --pretty=medium/;
my ($fh, $ctx) = command_output_pipe(@args, $head);
my $hash;
my %max;
@@ -3118,9 +3119,10 @@ sub _rev_list {
sub check_cherry_pick {
my $base = shift;
my $tip = shift;
+ my $parents = shift;
my @ranges = @_;
my %commits = map { $_ => 1 }
- _rev_list("--no-merges", $tip, "--not", $base);
+ _rev_list("--no-merges", $tip, "--not", $base, @$parents);
for my $range ( @ranges ) {
delete @commits{_rev_list($range)};
}
@@ -3296,6 +3298,7 @@ sub find_extra_svn_parents {
# double check that there are no missing non-merge commits
my (@incomplete) = check_cherry_pick(
$merge_base, $merge_tip,
+ $parents,
@$ranges,
);