git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: cherry-pick --since ?

From
Junio C Hamano <junkio@cox.net>
Date
Apr 23, 2007, 19:32 UTC
Message-ID
<7v8xciga42.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<Pine.LNX.4.64.0704231208490.4667@torch.nrlssc.navy.mil>
Brandon Casey <casey@nrlssc.navy.mil> writes:
Show 18 quoted lines
> On Fri, 20 Apr 2007, Junio C Hamano wrote:
>> Brandon Casey <casey@nrlssc.navy.mil> writes:
>> ...
>>> Here's my use case:
>>>
>>> Two branches, 'A' and 'B'.
>>> 'A' is the master branch.
>>> 'B' was forked some time ago and is in bug fix only mode.
>>> Much of 'A' and 'B' are still the same, but there have been
>>>   some intrusive changes made to 'A' that should not go into 'B'.
>>
>> You forgot to say "My objective is to make sure all the good
>> fixes in B are forward ported to A" but I am assuming that is
>> the case.
> 
> Yes, that is the case, but the flow is both ways. Other developers
> may implement fixes in 'A', which must be backported to 'B'. They
> don't care about 'B'.

That shows a problem in the project management that needs to be fixed independent of what SCM tool you use, doesn't it?

I do not think you would necessarily want to have a VC tsar to say "No, that is perfectly valid fix for the maintenance branch and you should make it go through the maintenance branch, do not directly commit to the master". People should be able to self-police that, with a general, shared understanding of what the overall process is, and can strive to make it easier for everybody.

Even with that, mistakes can happen, and sometimes you may realize that a fix or enhancement is applicable to the maintenance branch as well long after it hit the master branch. I would not disagree that you would need to have a way to deal with the ones that need backporting by cherry-picking (otherwise we would not have git-cherry-pick). And I am certainly not against a cherry-pick that can do more than one commit. What I am saying is that having to cherry-pick should be the exception, not the norm, and otherwise there is something wrong in the process.

If you want to do a cherry-pick that handles more than one commit, I think you need to worry about sequencing -- how to let the user continue after aborting in the middle and having him resolve conflicts. What "git-rebase --continue" does already can be used as a model for you to mimick in such an implementation.

Previous: Brandon CaseyNext: Brandon Casey
Message 6 of 12 in “cherry-pick --since ?”
  1. Brandon CaseyApr 20, 2007
  2. Alex RiesenApr 20, 2007
  3. David KågedalApr 22, 2007
  4. Junio C HamanoApr 20, 2007
  5. Brandon CaseyApr 23, 2007
  6. Junio C HamanoApr 23, 2007
  7. Brandon CaseyApr 23, 2007
  8. Git range merge (cherry-pick a range)bshOriginal, Jul 16, 2009
  9. Michael J GruberJul 16, 2009
  10. Daniel BarkalowJul 16, 2009
  11. bshOriginalJul 17, 2009
  12. Michael J GruberJul 16, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.