Skip to content

Commit c3d2ba5

Browse files
committed
rn-125: add git send-email article
1 parent f1ee0b4 commit c3d2ba5

File tree

1 file changed

+85
-2
lines changed

1 file changed

+85
-2
lines changed

rev_news/drafts/edition-125.md

Lines changed: 85 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,92 @@ This edition covers what happened during the months of June 2025 and July 2025.
5050
[Registration is open](https://events.linuxfoundation.org/open-source-summit-europe/features/co-located-events/#git-mini-summit-2025)
5151
for only the Git Mini Summit and for the Open Source Summit Europe including the Git Mini Summit.
5252

53-
<!---
53+
5454
### Reviews
55-
-->
55+
56+
* [[PATCH v4 0/3] send-email: add oauth2 support and fix outlook breaking threads](https://lore.kernel.org/git/PN3PR01MB9597A83D537E3AE96144227EB8BA2@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM/)
57+
58+
Last April, Aditya Garg sent a patch series containing three main
59+
changes to `git send-email`. He mentioned that he was sending the
60+
email series using the very patches he is proposing, via Outlook.
61+
62+
The first patch, which was a rebased version of
63+
[an earlier patch by Julian Swagemakers](https://lore.kernel.org/git/20250125190131.48717-1-julian@swagemakers.org/)
64+
added support for OAuth2 authentication, which started to be
65+
required by Microsoft. Julian's patch unfortunately had been waiting
66+
for review for over a year before Aditya picked it up.
67+
68+
The second patch fixed thread breaking caused by Outlook's
69+
proprietary Message-ID handling.
70+
71+
The final patch added a new option for generating passwords, such as
72+
OAuth2 tokens, via an external script.
73+
74+
Junio Hamano, the Git maintainer, reviewed the three patches saying
75+
he liked the commit messages, documentation and code comments even
76+
though he suggested a few small style improvements to the code
77+
style, and a number of grammar and formatting changes to the
78+
documentation.
79+
80+
He also asked for reviews from others as he said he was not familiar
81+
with the `Authen::SASL` library.
82+
83+
Aditya replied to Junio's review acknowledging the need for more
84+
reviews and saying that OAuth2 was a significant and more secure
85+
technology. He then took the initiative to Cc Greg Kroah-Hartman,
86+
who wrote a precursor of `git send-email` for the Linux kernel.
87+
88+
M Hickford also replied to Aditya expressing enthusiasm for the work
89+
but wondering why the v4 version of the patch series was sent in a
90+
new email thread rather than as a reply to the previous version.
91+
92+
brian m. carlson commented on the second patch saying that replacing
93+
message IDs like Outlook does is technically allowed by
94+
standards. He raised concerns about hardcoding only two Outlook
95+
server hostnames, and suggested adding configuration options for
96+
Message-ID generation modes.
97+
98+
Julian Swagemakers then pointed out that the goal of the third patch
99+
could already be achieved using Git's existing custom credential
100+
helper mechanism. Aditya confirmed this worked and said he was
101+
unaware of this feature, which led to the decision to drop the third
102+
patch. Recognizing that the existing feature was poorly
103+
discoverable, the discussion led to improvements in Git's
104+
documentation, adding clearer examples of using credential helpers
105+
for OAuth2 tokens.
106+
107+
Erik Huelsmann, the maintainer of the `Authen::SASL` Perl module,
108+
joined the conversation after Aditya emailed him directly
109+
referencing a GitHub issue about the lack of OAuth2 support in
110+
`Authen::SASL`. In that issue Erik had
111+
[commented that he would be happy to support XOAUTH2](https://github.com/gbarr/perl-authen-sasl/issues/18#issuecomment-2453040190),
112+
but needed a patch and a way to test it.
113+
114+
Aditya and Julian then worked together, with guidance from Erik, to
115+
add the necessary XOAUTH2 and OAUTHBEARER support directly into
116+
`Authen::SASL`. Shortly after, a new version of the `Authen::SASL`
117+
module was officially released with this new functionality. This
118+
successful collaboration meant the first patch in the series, which
119+
was a workaround for the missing library support, was no longer
120+
needed and was subsequently dropped. Instead the new version of
121+
`Authen::SASL` started to benefit all Perl users.
122+
123+
Greg Kroah-Hartman echoed what brian had suggested about using a
124+
configurable solution in the second patch. Greg noted that the
125+
initial approach would not cover company-hosted Outlook servers.
126+
127+
That suggestion was then refined by Junio Hamano, who proposed a
128+
concrete implementation for the new option by providing an example
129+
patch. The final `--[no-]outlook-id-fix` option auto-detects known
130+
Outlook servers but allows manual override for other deployments.
131+
132+
After several iterations on its name and behavior, Aditya submitted
133+
a final, simplified patch series (v6). It now contained only the
134+
single, refined patch to fix Outlook thread breaking, with the other
135+
two patches having been made obsolete by the `Authen::SASL` library
136+
update and the use of existing Git features.
137+
138+
Aditya's patch was merged and released as part of Git v2.50.0.
56139

57140
<!---
58141
### Support

0 commit comments

Comments
 (0)