Re: [PATCH 7/7] rebase (without -p): correctly calculate patches to rebase
- From
Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
- Date
- Jul 20, 2012, 15:58 UTC
- Message-ID
- <CAOeW2eEMQrmSwS4ziTWetrWxkS-CTCPrJrzchCb1ZnqmaFhW7g@mail.gmail.com>
- In-Reply-To
- <50091469.5030307@viscovery.net>
On Fri, Jul 20, 2012 at 1:18 AM, Johannes Sixt <j.sixt@viscovery.net> wrote:
Show 22 quoted lines
> Am 7/18/2012 9:27, schrieb Martin von Zweigbergk:
>> 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_branch
>
> Just 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