# Tracking cherry picks

4 messages from 2011-10-20 to 2011-10-21. Participants: Phillip Susi, Kirill Likhodedov, Ramkumar Ramachandra, Jonathan Nieder.
Thread: https://gitlist.dev/t/28726

## Phillip Susi, 2011-10-20 14:21

Subject: Tracking cherry picks
Message-ID: <4EA02E6C.2040608@cfl.rr.com>
URL: https://gitlist.dev/e/4EA02E6C.2040608%40cfl.rr.com

```
I need to maintain a few stable release branches in addition to the 
master branch.  Sometimes a bug is found and the fix needs applied to 
multiple branches.  I would like to be able to list what branches the 
fix has been applied to to validate that it went in everywhere it was 
needed, but after cherry-picking the fix from master to the stable 
branches, the SHA1 of the commit is different, and so git branch 
--contains does not think the commit was applied to each of the stable 
branches.

Is there a way around this?  Why doesn't git-cherrypick record the 
original SHA1 it was picked from in the commit?

```

## Kirill Likhodedov, 2011-10-20 15:00

Subject: Re: Tracking cherry picks
Message-ID: <37162B20-4758-433E-B11E-CE4B7FF27FBA@gmail.com>
URL: https://gitlist.dev/e/37162B20-4758-433E-B11E-CE4B7FF27FBA%40gmail.com
In-Reply-To: <4EA02E6C.2040608@cfl.rr.com>

```


20.10.2011, в 18:21, Phillip Susi:
>  Why doesn't git-cherrypick record the original SHA1 it was picked from in the commit?

It does if you specify "-x" option to cherry-pick
See the man for git-cherry-pick:

-x
           When recording the commit, append a line that says "(cherry picked from commit ...)" to the
           original commit message in order to indicate which commit this change was cherry-picked from.
           This is done only for cherry picks without conflicts. Do not use this option if you are
           cherry-picking from your private branch because the information is useless to the recipient. If
           on the other hand you are cherry-picking between two publicly visible branches (e.g. backporting
           a fix to a maintenance branch for an older release from a development branch), adding this
           information can be useful.

```

## Ramkumar Ramachandra, 2011-10-20 15:34

Subject: Re: Tracking cherry picks
Message-ID: <CALkWK0k-0vtD6OUtqKzzG9_aqGm2jsDY1k=xCR43TssvnHyLPg@mail.gmail.com>
URL: https://gitlist.dev/e/CALkWK0k-0vtD6OUtqKzzG9_aqGm2jsDY1k%3DxCR43TssvnHyLPg%40mail.gmail.com
In-Reply-To: <37162B20-4758-433E-B11E-CE4B7FF27FBA@gmail.com>

```
Hi,

Kirill Likhodedov writes:
> 20.10.2011, в 18:21, Phillip Susi:
>>  Why doesn't git-cherrypick record the original SHA1 it was picked from in the commit?
>
> It does if you specify "-x" option to cherry-pick
> See the man for git-cherry-pick:
> [...]

Right.  As an interesting historical note, git has been omitting the
original object name by default when cherry-picking/ reverting since
abd6970a (cherry-pick: make -r the default, 2006-10-05).

-- Ram

```

## Jonathan Nieder, 2011-10-21 09:52

Subject: Re: Tracking cherry picks
Message-ID: <20111021095234.GA17219@elie.hsd1.il.comcast.net>
URL: https://gitlist.dev/e/20111021095234.GA17219%40elie.hsd1.il.comcast.net
In-Reply-To: <4EA02E6C.2040608@cfl.rr.com>

```
Hi,

Phillip Susi wrote:

> Sometimes a bug is found and the fix needs applied to multiple
> branches.  I would like to be able to list what branches the fix has been
> applied to to validate that it went in everywhere it was needed, but after
> cherry-picking the fix from master to the stable branches, the SHA1 of the
> commit is different, and so git branch --contains does not think the commit
> was applied to each of the stable branches.

If you base the fix on the oldest commit you think you might ever want to
apply it to, then you can reuse the same bugfix commit in all branches.
See gitworkflows(7) for more on this.

Hope that helps, and good luck,
Jonathan

```
