From: Felipe Contreras Date: Wed, 29 May 2013 04:16:37 GMT Subject: [RFC/PATCH v2 5/8] rebase: cherry-pick: fix command invocations Message-ID: <1369801000-3705-6-git-send-email-felipe.contreras@gmail.com> In-Reply-To: <1369801000-3705-1-git-send-email-felipe.contreras@gmail.com> So that all the tests pass. Signed-off-by: Felipe Contreras --- git-rebase--cherrypick.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/git-rebase--cherrypick.sh b/git-rebase--cherrypick.sh index 2fa4993..ab892e6 100644 --- a/git-rebase--cherrypick.sh +++ b/git-rebase--cherrypick.sh @@ -23,11 +23,26 @@ test -n "$rebase_root" && root_flag=--root mkdir "$state_dir" || die "Could not create temporary $state_dir" : > "$state_dir"/cherrypick || die "Could not mark as cherrypick" +if test -n "$rebase_root" +then + revisions="$onto...$orig_head" +else + revisions="$upstream...$orig_head" +fi + # we have to do this the hard way. git format-patch completely squashes # empty commits and even if it didn't the format doesn't really lend # itself well to recording empty patches. fortunately, cherry-pick # makes this easy -git cherry-pick --allow-empty "$revisions" +if test -n "$keep_empty" +then + extra="--allow-empty" +else + extra="--skip-empty --cherry-pick" +fi +test -n "$GIT_QUIET" && extra="$extra -q" +test -z "$force_rebase" && extra="$extra --ff" +git cherry-pick --no-merges --right-only --topo-order --do-walk --copy-notes $extra "$revisions" ret=$? if test 0 != $ret -- 1.8.3.rc3.312.g47657de