Skip to content

Commit 8d41ccd

Browse files
committed
rn-131: add article about signoffs
1 parent a68e3a5 commit 8d41ccd

File tree

1 file changed

+79
-2
lines changed

1 file changed

+79
-2
lines changed

rev_news/drafts/edition-131.md

Lines changed: 79 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,86 @@ This edition covers what happened during the months of December 2025 and January
2525
### Reviews
2626
-->
2727

28-
<!---
2928
### Support
30-
-->
29+
30+
* [Would it make sense to add a commit.signOff config?](https://lore.kernel.org/git/86c5d40d-5a06-4a69-90d8-a737685b0536%40haller-berlin.de)
31+
32+
Stefan Haller started the discussion by asking if it would be
33+
appropriate to add a `commit.signoff` configuration variable. He
34+
observed that while many Git commands, such as `merge`,
35+
`cherry-pick`, and `revert`, accept the `--signoff` argument, only
36+
`format-patch` has a corresponding configuration to enable it for
37+
all invocations. Stefan found it reasonable for users to want a
38+
"Signed-off-by" trailer added automatically to every commit they
39+
make. This question was prompted by his work on the `lazygit`
40+
project, which already includes such a configuration and had
41+
received a feature request to extend its behavior to the `revert`
42+
command.
43+
44+
The "Signed-off-by" trailer is a formal certification that the
45+
contributor has the right to submit the work under the project's
46+
license, often associated with a Developer Certificate of Origin
47+
(DCO). While widely used in open-source projects to maintain a legal
48+
paper trail, its use in closed-source environments is less common.
49+
50+
Carlo Marcelo Arenas Belón replied to Stefan, noting that a similar
51+
topic was
52+
[discussed recently](https://lore.kernel.org/git/xmqq4iwvfx8s.fsf@gitster.g/)
53+
where it was argued that sign-offs should be given explicitly rather
54+
than automated. Junio Hamano, the Git maintainer, agreed and
55+
suggested resurrecting a
56+
[proposal from 2020](https://lore.kernel.org/git/xmqqpnfw8gyn.fsf@gitster-ct.c.googlers.com/)
57+
to explicitly document why Git intentionally lacks this
58+
configuration. Junio expressed a desire to "save time from potential
59+
contributors" who might otherwise put effort into a patch that the
60+
community has already reached a consensus against.
61+
62+
Collin Funk supported the idea of documenting the consensus and
63+
recommended using the full phrase "Signed-off-by" instead of the
64+
abbreviation "SoB" to ensure clarity for all readers. brian
65+
m. carlson suggested that the explanation could be placed in the Git
66+
FAQ, the manual pages, or both. brian also provided a minor
67+
grammatical correction to the initial text proposal.
68+
69+
Junio submitted
70+
[version 1](https://lore.kernel.org/git/xmqqldj48pyl.fsf%40gitster.g)
71+
of a patch to document the decision. The proposed text explained
72+
that automation makes it harder to defend a sign-off's validity in
73+
court, as a person could claim the trailer "was done by inertia
74+
without person X really intending to certify what DCO says". The
75+
patch also acknowledged that while `format.signoff` exists, it is
76+
considered a "historical mistake" that should not be emulated by
77+
other commands.
78+
79+
Elijah Newren found the initial draft somewhat difficult to parse
80+
and suggested an alternative version with more sentence
81+
breaks. Elijah’s draft emphasized that Git avoids automatic
82+
sign-offs specifically to "protect the legal and intentional
83+
significance of a sign-off". He also recommended a shorter version
84+
for the manual pages that would point users toward a more detailed
85+
entry in the FAQ. Johannes Sixt agreed that Elijah’s version was
86+
much easier to read and suggested a minor shortening of the final
87+
sentences to maintain impact. Johannes also emphasized the
88+
importance of leaving a pointer in the manual pages, as users
89+
looking for automation features are more likely to check
90+
documentation for specific commands rather than the general FAQ.
91+
92+
Junio provided
93+
[version 2](https://lore.kernel.org/git/xmqqv7i62r6w.fsf%40gitster.g)
94+
of the patch, which incorporated Elijah's and Johannes's
95+
refinements. During the final review, Johannes suggested changing
96+
the phrase "pile on more mistakes" to "add more mistakes" to be
97+
clearer for non-native English speakers. Junio adopted this change,
98+
noting it would be clear for everyone. Kristoffer Haugsbakk also
99+
contributed a final polish by suggesting the use of a proper
100+
`linkgit:gitfaq[7]` reference in the manual page. Elijah and brian
101+
both confirmed they were satisfied with the final result.
102+
103+
During the discussion there was a clear consensus that Git will not
104+
add a global `commit.signoff` configuration. The creation of
105+
permanent documentation in the Git FAQ and manual pages to explain
106+
the legal reasoning behind this decision will prevent future
107+
contributors from wasting time on a feature that would be rejected.
31108

32109
<!---
33110
## Developer Spotlight:

0 commit comments

Comments
 (0)