Live data from Hacker News

Email and Git = <3

git-send-email.io

241–250 of 265 posts

Re: Email and Git = <3

#241

Earlier quoted context omitted.

There is usually no need to subscribe.

This. You just To: the mailing-list and depending on the project CC: the maintainers. No subscribing needed. Standard policy on all mailing lists is to reply-to-all so you'll get always CC'ed on replies. This also makes it very easy to pull in more people into a discussion, even across different projects.

The CC part is highly conflicted. Most maintainers hate double emails, whilst some loudly insist to be CC'd, esp. the Linux kernel folks. So you need to read beforehand the preferred etiquette. And nevertheless, the tone on mailinglists is entirely different (and mostly extremely childish and unprofessional) than on ticket trackers.

Re: Email and Git = <3

#242

Earlier quoted context omitted.

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…

I read this, and it's like, sure, you could do all of this shit. But you could also just choose a better system outright.

This "shit" (which take is not much though, most of it you do once and as you're probably already using email, using a good mail user agent will help you in other ways too. And I only wrote that "much" to answer to every point of OP, it's a few lines – attention span really has gone down hill.

And what better system? Git(Hu|La)b et al.? Yeah no, you definitively didn't use either much in a collaborative way to just call them better, besides being centralized locked-in. Or what's actually better there? I'd love to hear actual arguments and experiences from someone collaborating with hundreds of other people on a project on these Labs/Hubs, not some hand waved name-calling that adds exactly nothing.

Re: Email and Git = <3

#243

Earlier quoted context omitted.

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…

The amount of "gotchas" in this process and the tooling required just to use git + email seems insane to me. If it works for you, great, but I don't expect a new hire (experienced or not) to pickup this flow and run with it.

A few comments in-line, but I don't want to "sell" anything to you, so just FWIW.

> The amount of "gotchas" in this process and the tooling required just to use git + email seems insane to me.

The base system is really, really simple, but there are some common rules/guidelines that just help when working together, and those are required for forge based workflows too (or do you like a single commit touching a dozen completely different, unrelated things, or just no info at all in the commit message, or pull request, for why a change was done).

The core thing from this workflow is using `git send-email --to=mailing@list.example.com `, the rest are a few details, possible slightly intimidating if viewed from a distant, but each separate and easy to master/implement on it's own – and most are a "set up once, be done thing", so not constant work.

> If it works for you, great, but I don't expect a new hire (experienced or not) to pickup this flow and run with it.

As mentioned in another comment: We hired over 15 people in the last year, most of them had no experience with git send-email and mailing list development, but they all accustomed fast and after a few weeks most of them stated they find it nicer (as in simpler, less clutter quicker to do submit own work or review others) - I myself started out over eight years ago at this place, i.e., without much experience in mail based development, and I never ran into bigger problems – on the contrary, this workflow felt like a breadth of fresh air compared to what was I used before (mostly GitHub and GitLab).

Note: this works not only for small to medium, but also is the only way that actually works for the biggest projects in the world (e.g., Linux or QEMU).

Just to be sure: I do not say mail(ing list) based development workflow is Just Perfect™, it sure has its problems and can be improved, and may we get some good web GUIs that tie a few of the components together, currently I see https://sourcehut.org/ as strong contender here.

Re: Email and Git = <3

#244

Earlier quoted context omitted.

What is antiquated about sending patches via email? Have you ever used email to contribute to a project or review a patch?

Contributing patches via the Linux mailing lists is worse than Gerrit in every way.

It really isn't, it's basically `git send-email --to=linux-kernel@vger.kernel.org -1` – how's hard?

Oh, sorry, you actually need to figure out the maintainers, so you can send it directly to them too to get it reviewed faster, so yeah a call to `./scripts/get_maintainer.pl -f ` ok, now it got impossible for the modern dev – cannot expect those are able to actually understand basic systems.

Then reply to the review replies you get, if there's still anything to change, how would gerrit making that easier in any way?

Re: Email and Git = <3

#245

Earlier quoted context omitted.

If your system cannot relay mail correctly already, as most office setups are easy to configure to be able to provide that without extra config, at least for Linux setups, then the set up means having something like the following in their gitconfig: cat .gitconfig # snip [sendemail] to = default@list.example.com annotate = yes suppresscc = self smtpencryption=tls smtpserver=imap.example.com smtpserverport=587 smtpuse…

FWIW, I haven't done that kind of setup for years because modern iOS/macOS does email server discovery, where you enter "bob@example.com" and then it does discovery and figures out the right imap.example.com:587 etc for you by looking at DNS.

Yes, such things are nice. The well-known URI [0] system is also sometimes used for this, at least there's one entry for Thunderbird under the "autoconfig/mail" subdirectory. Having some of those auto-config methods available for git send-mail could be nice, as it would lower the barrier a bit further, even if most devs are probably able to check their SMTP endpoint and port.

[0]: https://en.wikipedia.org/wiki/Well-known_URI

Re: Email and Git = <3

#246
post #48

Earlier quoted context omitted.

# do your code change git commit git send-email --to= -1 # amend your change git commit --amend git send-email -v2 --to= -1 I'm not sure what is needlessly annoying and absurd. Edit with minimal configuration: cat ~/.gitconfig [user] email = your@mail.address name = Your Name [sendemail] smtpuser = your@mail.address smtpserver = smtp.whatever.com smtpserverport = 587 smtpencryption = tls

You left out the entire configure SMTP step. Honestly I’m not even sure how to do that if your SMTP server requires 2FA and does not allow legacy app specific passwords.

If you use this proxy of mine then any IMAP (or POP/SMTP) client can be used with a “modern” email provider, regardless of whether it supports OAuth 2.0 natively: https://github.com/simonrob/email-oauth2-proxy. No need for your client to know about OAuth at all.

Re: Email and Git = <3

#247
post #188

Earlier quoted context omitted.

Multiple enterprise customers use my software ( https://emailengine.app ) because it can proxy OAuth2-enabled IMAP/SMTP connections as regular password-based sessions. Turns out there are a lot of legacy, like all kinds of cron scripts, that want to connect to some IMAP account to check and do something. It all breaks down once the organisation enforces OAuth for their email. So, personally, I don't like it at all, b…

Oh that’s pretty cool, thanks for the link. I’ve used davmail as a proxy like this, just for the oauth support, but it doesn’t scale to large mailboxes or high traffic well at all. May forward this along for some of our internal services people.

You can also use this (locally-hosted) proxy of mine which transparently adds OAuth 2.0 support to any IMAP/POP/SMTP client: https://github.com/simonrob/email-oauth2-proxy.

Re: Email and Git = <3

#248
post #54

Earlier quoted context omitted.

It really kills the fun when contributing to any FOSS project that fetishizes these tools and holds them up as some kind of proof of hacker cred. I've given up. The latency is too high and the tools are terrible.

“Want to contribute? Subscribe to our mailing list that sends a hundred emails a day.” Nope.

Genuine question: why is this a problem? Every modern email provider allows you to set up filters that move all the mailing list emails into a seperate folder/tag, skip your Inbox, and set up auto-cleanup to delete emails older than X days so that the volume doesn't result in you exhausting your storage allocation. And if you find yourself never actually taking part in that software's discussion and it actually turns out to be completely irrelevant to you, then unsubscribe...

Re: Email and Git = <3

#249
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…

> You can use tools like public-inbox or lei

Maybe I'm missing something, but those seem like they are for searching mailing lists. I'm not sure how they solve the problem of, getting notified for threads I care about, but not for all of the other ones I don't.

> 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.

Ok, so suppose that there is a patch submitted to fix a bug I care about. I don't want to reply, because I don't have any new information to add, but I want to know once the patch is merged. Yes, it is possible to subscribe to the mailing list and create an email filter, assuming that I know enough about SMTP headers, and i am already familiar with and use a powerful mail client, and only use a single client that I have those filters on. Or have a mail service with very powerful filtering functionality (unlikely). But I wouldn't exactly call it easy.

> List have a dedicated List-Id header, so one can easily filter them in a targeted way.

That's useful for putting all emails from a list in a folder, but doesn't help if you are only interested in a small subset of the emails for any given list.

> because the message medium is decentralized mail vs. a centralized HTTP API.

well, my biggest problem is that the granularity of subscription is far too coarse. It doens't really have to do with being centralized or not.

> there are mailers like aerc [0] or neomutt that are really well suited for an integrated mail + apply + review setup

I've tried using aerc and neomutt. I don't doubt that once you have them set up and have learned how to use them, they work well for this flow, but the learning curve is pretty steep. And they don't work as well for some of my non-development email.

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

In other words, the most popular email clients.

> please do NOT send new patch revision to the same thread, that just crowds review and adds nothing

So you just lose all the context of the previous review? And you review the whole thing from scratch? As a reviewer my preferred workflow for changes to a patchset is to receive incremental commits that build on the previous changes, then squash them before merging.

> 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).

How do you handle commenting on large patches that change many files? I imagine in such cases you would `git am` the changes and view the diff using your git diff tool of choice, file by file. But then if you find something you need to comment on, you would have to go back to the email client, and search through the large amount of text to find the appropriate line to comment on. That seems rather tedious and disruptive to me.

> 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

FWIW when I deal with conflicts in github, I don't use the UI. I pull the branch of the PR, merge or rebase, resolve the conflicts, and then if the submitter allows, push the changes back up to their branch, or make my own branch. Then I wait for CI to finish before merging the changes post-conflict-resolution.

To be fair, I am somewhat biased, since I have a lot more experience with the Github flow than mailing list flows.

But I would also like to learn how the mailing list flow works in practice, in part so that I can contribute to projects that use it. It seems like there must be tooling and practices that I am ignorant of, but websites like the OP usually don't go any deeper than explaining how to use git send-email and telling you to use a better MUA.

Re: Email and Git = <3

#250
post #161

Earlier quoted context omitted.

It's not really that people can't use them. It's that they're slow, annoying, hard/impossible to automate, hard/impossible to customize and give you RSI. We've seen Web interfaces, they're hard to avoid. We've just decided that they're worse.

Could you, for a moment, imagine that others might feel like that about the command-line-plain-text-email-to-mailing-list workflows? Possibly not, as you have labelled them > the kind of people who have little patience for technology problems and little patience for learning new things Also tell me how is tolerating rude incumbents of mailing list sending email with 50+ characters in a line a technical problem? (Yes…

> Possibly not, as you have labelled them

>> the kind of people who have little patience for technology problems and little patience for learning new things

No, I haven't.

You're making an awful lot of shit up about me. All I said is that I've tried the Web UI:s and didn't particularly like them. Speaking of rude.

Post reply on HN