[RFC/PATCH v2 5/8] rebase: cherry-pick: fix command invocations
So that all the tests pass.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
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