Live data from Hacker News

Email and Git = <3

git-send-email.io

211–220 of 265 posts

Re: Email and Git = <3

#211
post #210

I appreciate the effort here, but after learning the workflow and having to get all this set up on a few computers, having to configure git send-mail is honestly just needlessly annoying and absurd. Organizations that insist on using workflows like git send-mail and mailing lists not only drive away a significant number of potential contributors, but they also form a weirdly religious culture that fetishizes needless…

It's easy to forget the maintainers' side of this. Yes, most contributors will prefer opening a PR on GitHub as apposed to mailinglists. But imagine instead that you are David Miller, and it's your job to consume the absolute fire hose of patches and messages related to Linux's networking subsystem. Would you rather wade through the hundreds of messages and patches coming in every day using either GitHub PRs and issu…

Github has an api for this…

Re: Email and Git = <3

#212
post #200

Earlier quoted context omitted.

Configuring git send-email is trivial, definitively faster than creating an account at some web UI from a "source forge" – it's literally setting a handful of properties in the `.gitconfig` – and those are not specific to a project, but just your mail server settings you can reuse them for any project that accept patches over mailing lists. And using it for a project that accepts this workflow is such a joy, no need…

> Configuring git send-email is trivial The linked article is literally a multi-step process of arcane terminal commands that differ by operating system. You may think it's easy, but it's definitionally not trivial.

'Arcane terminal commands'? These are standard basic terminal commands.

Re: Email and Git = <3

#213
post #58

Earlier quoted context omitted.

That’s your bias showing; GitHub is primarily designed for getting work done, as it is a paid service that needs to serve its customers.

I think GitHub was designed for getting work done, but since Microsoft bought them, they are slowly moving into enshitification territory. For example, they have a homepage that is just a wanna be social media feed and the file contents pages have ads for Copilot and in general there are ads for VSCode and blah blah. It was pretty good, but it's going to get much worse. :-)

I agree that there has been some enshitification (like awards, which I immediately turned off) but I like the activity feed.

If I follow a developer, it's because I'm interested in what they're working on, and often I'll be exposed to something new in a different language or solving a different problem that I haven't ever tried. I actually think its one of the cooler things that is fairly unique to github.

Re: Email and Git = <3

#214
post #179

I've used email-based workflow for a few contributions I've made. The git-send-email part isn't too bad. It's everything else I have a problem with: - You can't subscribe to a single PR/bug/feature-request thread. Subscription to the mailing list is all-or-nothing. And no, setting up email filters is not a reasonable solution. - Email clients are pretty much universally terrible. Especially if you want to use the sam…

You have some points, for some I do think it isn't as bad as you write. FWIW, some comments inline.

> - You can't subscribe to a single PR/bug/feature-request thread. Subscription to the mailing list is all-or-nothing. And no, setting up email filters is not a reasonable solution.

You can use tools like public-inbox or lei, the former is hosted for bigger projects on https://lore.kernel.org/

If you're interested, see also https://people.kernel.org/monsieuricon/lore-lei-part-1-getti...

And sure subscribing for a drive by submission is rather overkill, but if one contributes more than a few patches, setting up a filter is to easy with mailing lists that I don't think one can just hand wave that away as an "unreasonable" solution. List have a dedicated List-Id header, so one can easily filter them in a targeted way.

What I want to convey actually is, that yes, there can be improvements made here, but doing so isn't impossible just because the message medium is decentralized mail vs. a centralized HTTP API.

- Email clients are pretty much universally terrible. Especially if you want to use the same client for your git flow as you do for regular email. Most clients don't handle inline-replies well, and require some extra work to send plain text emails. Clients that do work well for that often have a steep learning curve, and are missing features if you want to use it for general email.

Hard disagree on that being the general case. Even getting Thunderbird to send plaintext is simple and only one setting, and there are mailers like aerc [0] or neomutt that are really well suited for an integrated mail + apply + review setup.

But sure, there are some bad apples, especially most web mailer.

[0]: https://aerc-mail.org/ [1]: https://neomutt.org/

> - The flow for "Dealing with feedback" in this tutorial will start a new email thread instead of replying to the existing one.

Yes, for sending a new revision this is highly wanted – please do NOT send new patch revision to the same thread, that just crowds review and adds nothing. Simply add a changelog to the previous revision in the cover-letter and/or in each patch, i.e., after the message, below "--" and before the diff-stat, as there they won't get into git, such changes are meta info relevant for review, not for the git history.

> - Although I haven't been on the other side of it, it seems like reviewing the patch would be somewhat difficult without additional tooling. Especially comparing new versions dealing with feedback to the original version.

I have reviewed lots of patches via mailing list, it's really nice and depending on the patch one can review directly inline or apply (save + `git am`, or directly `git am` depending on your mailer). IMO much higher quality of life than with the classic Git(La|Hu)b forges.

> - Again, I haven't been on that side of it, but it seems like applying the changes from an email would be a bit of a pain compared to just pressing "merge".

No it really isn't, I'm doing that since years a dozen+ time a day, and it is as easy now as it was back then when I started. If I use thunderbird I got my one directory for it, so I just mark all, save and execute `git am ~/t/aaa/*` in the repo. When I use aerc, then it's even simpler, it has built-in helpers for doing this easily.

Here I can manage simple conflicts easily (e.g., using three-way-merge) on GitHub conflicts are a bigger PITA and need lots of manual intervention from me or waiting on the submitter, meh. Also, the interface often loads weirdly, as they manage their own history as a single page app which often gets in a state where button presses won't do much.

> - You can run into issues if your lines of code are more than 78 characters long. I used git-send-email to send in a patch once that had this, but the email client of the receiver couldn't handle long lines, so I had to resend it with the patch as an attachment.

git send-email uses base64 encoding for that, if the mail user agent of your recipient cannot handle that it's like their broswer cannot handle HTTP/1.1, switch that stuff immediately.

> - Some mailing lists require you to subscribe before you can send a patch. And if the list is pretty active, that can flood your inbox. See my first point.

Yeah, sadly sometimes needed for anti-spam measurements, here I agree fully that this isn't ideal, but FWIW, for Git(Hu|La)b I also need to create a account and fork, so it's not exactly zero work there too, but yeah, due to SSO and gaining access to many projects, vs. just one for a subscription that is not really comparable..

Re: Email and Git = <3

#215
post #210

Earlier quoted context omitted.

It's easy to forget the maintainers' side of this. Yes, most contributors will prefer opening a PR on GitHub as apposed to mailinglists. But imagine instead that you are David Miller, and it's your job to consume the absolute fire hose of patches and messages related to Linux's networking subsystem. Would you rather wade through the hundreds of messages and patches coming in every day using either GitHub PRs and issu…

Github has an api for this…

Which eventually will change, and you have to update everything. Or the company disappears and you have to move somewhere else.

Email is just email. You write SMTP/IMAP clients today and they'll continue to work for a long time, probably longer than most platforms with APIs online today.

Re: Email and Git = <3

#216
post #200

Earlier quoted context omitted.

Configuring git send-email is trivial, definitively faster than creating an account at some web UI from a "source forge" – it's literally setting a handful of properties in the `.gitconfig` – and those are not specific to a project, but just your mail server settings you can reuse them for any project that accept patches over mailing lists. And using it for a project that accepts this workflow is such a joy, no need…

> Configuring git send-email is trivial The linked article is literally a multi-step process of arcane terminal commands that differ by operating system. You may think it's easy, but it's definitionally not trivial.

The thing that differs by OS is the installation of Git.

Re: Email and Git = <3

#217
post #115

Earlier quoted context omitted.

Our project inherited a patchbomb-based workflow from Linux. Many of the individual members have also contributed to gitlab/hub based projects, and appreciated a lot of the automation available, as well as recognizing the lower barrier-to-entry of not having to figure out how to get an SMTP connection. So a few years ago we experimented with allowing "small" patches to be sent via PR on gitlab, and doing the review t…

>Basically, everyone agreed that actually doing the review on gitlab was a lot worse compared to email. There's just so much more flexibility. Could you elaborate? This is truly shocking to me. Admittedly I have never worked on a project with an email-based workflow, but I can't think of how email would allow comments inline with the patch, which is an incredibly beneficial feature to me.

I like git patches...I can scan through them, write comments, and maybe strip out files that aren't necessary (if you have two isolated networks and are syncing code in between). I'm a fan of some of these ambitious git projects like GitLab but there's just something about syncing git through patches (like email).

Re: Email and Git = <3

#219

Earlier quoted context omitted.

No one is forcing you to contribute to, or even use, software that uses an email-based workflow. I’d also put money on the fact that the majority of contributors to Linux, an extremely successful free software project, prefer the email-based workflow.

> No one is forcing you to contribute This is exactly the problematic attitude. I'm an OpenJDK author but not linux kernel contributor for mainly this reason. There are many people like me. > majority of contributors to Linux, an extremely successful free software project, prefer the email-based workflow This reminds me the many absurd conversations I had from my time in Goldman Sachs, few years ago. People with 15+…

Not to derail the conversation, but Slang is incredible. Its interface is old and archaic, sure, but it's the best and most expressive coding experience I've ever had. It took some getting used to (especially case-insensitive variables with spaces ?! and the UFOs) but I really enjoyed working in it. All of the other workflow tools, like Procmon, were icing on the cake.

The internal cloud was just getting up to speed when I left, and that was more modern and also a joy to use.

There's a lot to dislike about working there, but in my experience, the firmwide tooling was excellent.

Re: Email and Git = <3

#220

Earlier quoted context omitted.

It's 2023; mail servers have been using TLS for a very long time.

Yes, you can transmit messages via SMTP using TLS, but you don't need any special tools to read the email once it's reached its destination which is the point you seem to be missing. And before you scream PGP, almost nobody uses it.

So, like a centralized git server ?
Post reply on HN