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

Re: Recording the current branch on each commit?

From
David Kastrup <dak@gnu.org>
Date
Apr 28, 2014, 09:23 UTC
Message-ID
<87fvkx6c4z.fsf@fencepost.gnu.org>
In-Reply-To
<535E1AF6.8080609@game-point.net>
Jeremy Morton <admin@game-point.net> writes:
Show 24 quoted lines
> On 28/04/2014 10:02, David Kastrup wrote:
>> Jeremy Morton<admin@game-point.net>  writes:
>>
>>> On 28/04/2014 09:32, Felipe Contreras wrote:
>>>>>> some people to is to always merge with --no-ff, that way you see the branch
>>>>>> name in the merge commit.
>>>>>
>>>>> But surely, it's recommended with Git that you try to avoid doing
>>>>> --no-ff merges to avoid commit noise?
>>>>
>>>> Nope. Different people have different needs, there's no recommendation. If
>>>> anything, the recommendation is to do a ff merge, because that's the default.
>>>
>>> That's what I'm saying.  With an ff merge, you don't get the merge
>>> commit message telling you the branch name.
>>
>> And I don't _want_ that branch name to be recorded.  The whole point of
>> a distributed version control system is that it's nobody else's business
>> how I organize my work before submitting it.
>
> Well it would be optional, so obviously you wouldn't be forced to
> share the branch name.  It's not like we're trying to "pry in" to your
> private development.  It's a way of choosing to share what you may
> consider to be useful contextual information about the commit.

But it isn't useful contextual information about the commit because it is tied to a particular repository.

Show 7 quoted lines
>> It is _totally_ useless information in a distributed development
>> model.  Why would or should anybody be concerned what private
>> branches some submitter has developed his patches in?
>
> Why should anybody be concerned about what commit message some
> submitter has typed in for his commit?  They could just read the
> source code to see what has changed, right?

The commit message is an integral part of a commit. The contents of the commit message are not tied to a particular repository. The branch name, however, is.

> Because the commit message is a way for the submitter to try and make
> it easier for the people looking at the commit to understand what the
> commit is doing.

The commit message is written for an audience and is independent of the repository. The branch name isn't.

> In the same way, a meaningful branch name may also make it easier for
> people looking at the commit to understand what it is doing,

It is nobody's business how I name my branches. I can change the commit message using git commit --amend, but what should happen if I rename the branch a commit is on?

And what nightmare should occur when doing git cherry-pick? What _is_ the originating branch of a cherry-pick? What _is_ the originating branch of a merge commit? Or even of a cherry-picked merge commit?

> or what part of the application it is affecting, or what group of
> commits it is a part of.

If I have useful information to offer to the readers of a commit, it belongs in the commit message. Not in some involuntarily created and leaked piece of metadata specific to my workflow and repository that will be awfully hard to change after the fact.

-- 
David Kastrup
Previous: Jeremy MortonNext: David Lang
Message 11 of 69 in “Recording the current branch on each commit?”
  1. Jeremy MortonApr 26, 2014
  2. Robin RosenbergApr 27, 2014
  3. Jeremy MortonApr 27, 2014
  4. James DenholmApr 27, 2014
  5. Jeremy MortonApr 27, 2014
  6. James DenholmApr 27, 2014
  7. Felipe ContrerasApr 28, 2014
  8. Jeremy MortonApr 28, 2014
  9. David KastrupApr 28, 2014
  10. Jeremy MortonApr 28, 2014
  11. David KastrupApr 28, 2014
  12. David LangApr 29, 2014
  13. Junio C HamanoApr 28, 2014
  14. Johan HerlandApr 27, 2014
  15. Jeremy MortonApr 27, 2014
  16. Johan HerlandApr 27, 2014
  17. Jeremy MortonApr 27, 2014
  18. Johan HerlandApr 27, 2014
  19. Christian CouderApr 28, 2014
  20. Jeremy MortonApr 28, 2014
  21. Johan HerlandApr 28, 2014
  22. Jeremy MortonApr 28, 2014
  23. David LangApr 29, 2014
  24. Felipe ContrerasApr 28, 2014
  25. Jeremy MortonApr 28, 2014
  26. Felipe ContrerasApr 28, 2014
  27. Jeremy MortonApr 28, 2014
  28. Felipe ContrerasApr 28, 2014
  29. David KastrupApr 28, 2014
  30. Felipe ContrerasApr 28, 2014
  31. James DenholmApr 28, 2014
  32. Felipe ContrerasApr 28, 2014
  33. Junio C HamanoApr 28, 2014
  34. Felipe ContrerasApr 28, 2014
  35. Junio C HamanoApr 29, 2014
  36. Felipe ContrerasApr 29, 2014
  37. James DenholmApr 29, 2014
  38. Felipe ContrerasApr 29, 2014
  39. James DenholmApr 29, 2014
  40. Felipe ContrerasApr 29, 2014
  41. David KastrupApr 29, 2014
  42. Felipe ContrerasApr 29, 2014
  43. David KastrupApr 29, 2014
  44. Felipe ContrerasApr 29, 2014
  45. David KastrupApr 29, 2014
  46. Felipe ContrerasApr 29, 2014
  47. David KastrupApr 29, 2014
  48. Felipe ContrerasApr 29, 2014
  49. James DenholmApr 29, 2014
  50. Felipe ContrerasApr 29, 2014
  51. James DenholmApr 29, 2014
  52. Felipe ContrerasApr 29, 2014
  53. James DenholmApr 29, 2014
  54. Felipe ContrerasApr 29, 2014
  55. James DenholmApr 29, 2014
  56. Felipe ContrerasApr 29, 2014
  57. James DenholmApr 30, 2014
  58. Felipe ContrerasApr 30, 2014
  59. James DenholmApr 30, 2014
  60. Piotr KrukowieckiApr 29, 2014
  61. Robin RosenbergApr 29, 2014
  62. Sitaram ChamartyApr 28, 2014
  63. Jeremy MortonApr 28, 2014
  64. Sitaram ChamartyApr 28, 2014
  65. David KastrupApr 28, 2014
  66. Sitaram ChamartyApr 28, 2014
  67. Johan HerlandApr 28, 2014
  68. Felipe ContrerasApr 28, 2014
  69. Felipe ContrerasApr 28, 2014

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.