Re: [PATCH 7/7] rebase (without -p): correctly calculate patches to rebase
From: Martin von Zweigbergk <hidden>
Date: 2016-06-15 22:54:17
On Fri, Jul 20, 2012 at 1:18 AM, Johannes Sixt [off-list ref] wrote:
Am 7/18/2012 9:27, schrieb Martin von Zweigbergk:quoted
diff --git a/git-rebase--am.sh b/git-rebase--am.sh index 37c1b23..fe3fdd1 100644 --- a/git-rebase--am.sh +++ b/git-rebase--am.sh@@ -16,11 +16,9 @@ skip) ;; esac -test -n "$rebase_root" && root_flag=--root test -n "$keep_empty" && git_am_opt="$git_am_opt --keep-empty" -git format-patch -k --stdout --full-index --ignore-if-in-upstream \ - --src-prefix=a/ --dst-prefix=b/ \ - --no-renames $root_flag "$revisions" | +generate_revisions | +sed -e 's/\([0-9a-f]\{40\}\)/From \1 Mon Sep 17 00:00:00 2001/' | git am $git_am_opt --rebasing --resolvemsg="$resolvemsg" && move_to_original_branchJust curious (as all tests pass): What does this do? It looks like format-patch is not called anymore and git-am sees only SHA1s. Does it force git-am to cherry-pick the patches?
That probably deserves to be mentioned in the commit message. Or maybe in as a comment in the code. Either way, since 0fbb95d (am: don't call mailinfo if $rebasing, 2012-06-26), 'git am --rebasing' never looks at anything but the sha1, so most of the output from 'git format-patch' is currently ignored. It doesn't do cherry-pick, though, but runs 'git diff-tree' and other commands and then feeds the result to 'git apply', just like a regular 'git am' invocation would. Martin