Bug: Incorrect stripping of the [PATCH] prefix in git-am

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Description:

When applying a patch created via `git format-patch` with `git am`,
any prefix of the commit message that's within square brackets is stripped from the commit message.


Reproduction:

    $ git log --oneline --decorate --graph --all
    * b41514b (HEAD) [baz] baz
    | * 5e31740 (master) [bar] bar
    |/
    * aaf5d34 [foo] foo
    $ git format-patch aaf5d34
    $ git checkout master
    $ git am 0001-baz-baz.patch
    $ git log --oneline --decorate --graph --all
    * d5161b8 (HEAD, master) baz
    * 5e31740 [bar] bar
    * aaf5d34 [foo] foo

I have omitted all output except for the `git log` output for brevity.
As you can see, the commit resulting from `git am` has lost the "[bar]" prefix from its commit message.

Looking at the patch,

    $ cat 0001-baz-baz.patch
    From b41514be8a70fd44052bff0d3ce720373ec9cfd8 Mon Sep 17 00:00:00 2001
    From: Nathanael Huebbe <nathanael.huebbe@xxxxxxxxxxxxxxxxxxxxxxxxx>
    Date: Wed, 25 Nov 2015 15:28:09 +0100
    Subject: [PATCH] [baz] baz

    ---
     baz | 1 +
     1 file changed, 1 insertion(+)
     create mode 100644 baz

    diff --git a/baz b/baz
    new file mode 100644
    index 0000000..7601807
    --- /dev/null
    +++ b/baz
    @@ -0,0 +1 @@
    +baz
    --
    2.1.4

I see that the commit message contains the "[PATCH]"-prefix that `git am` is supposed to strip,
yet it seems to incorrectly continue to also strip the "[baz]"-prefix.


Affected versions:
I have reproduced the bug with versions 1.9.1, 2.1.4, and 2.6.3


Severity:
While I do not consider this a high priority bug, it becomes quite irksome in some workflows.
In my case, an upstream `svn` repository has the policy of using "[branch-name]" prefixes
to the commit messages, which are stripped whenever I transplant a commit using the
`git format-patch`/`git am` combination.



-- 
Please be aware that the enemies of your civil rights and your freedom
are on CC of all unencrypted communication. Protect yourself.


Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]