Once I discovered how git apply can take diff files (or patch files) as input, I stopped using git stash in favor of plain old files. Easier to list and browse the contents of prior edits, also you can grep the files as method of search. I’ve even found myself copying and editing the diffs before applying.
You’ll also want to familiarize with “git apply -3 <file name>”, for when a diff can’t be applied cleanly. It will try “harder” to merge (three way method) and if it still fails it invokes the conflict merge “UX”:
git diff an pipe works, but committing and then `git format-patch` can export multiple patches and then includes metadata (commit message, date, author, etc.) which can make reasoning about such files a lot easier. In a plain diff you only got filename as metadata.
Exchange historically had a tendency to mangle emails sent through it (whitespace changes, line wrap, etc), which is obviously bad news for patchmails. I dunno if it's any better these days.
Once I discovered how git apply can take diff files (or patch files) as input, I stopped using git stash in favor of plain old files. Easier to list and browse the contents of prior edits, also you can grep the files as method of search. I’ve even found myself copying and editing the diffs before applying.
Oh that’s clever, I’ll try that out. Looks like you could just do a git diff > file.patch.
Neat.
You’ll also want to familiarize with “git apply -3 <file name>”, for when a diff can’t be applied cleanly. It will try “harder” to merge (three way method) and if it still fails it invokes the conflict merge “UX”:
<<<<<<<<<
=========
>>>>>>>>>
git diff an pipe works, but committing and then `git format-patch` can export multiple patches and then includes metadata (commit message, date, author, etc.) which can make reasoning about such files a lot easier. In a plain diff you only got filename as metadata.
Thank you, will try. Useful bit of knowledge.
That’s a great idea, and very timely for me.
Maybe slightly O/T, but has anyone found a decent way to `git send-email` with email hosts that demand OAuth? (looking at you Outlook and Gmail)
I think you could set up postfix to smtp forward to those services. So it could handle the oauth2 and you wouldn’t need to configure your client
I use msmtp with a tool from the oauth2-tools repo to do the rotation token dance. Need to register your own app with Google though.
For Gmail, you can use https://github.com/google/gmail-oauth2-tools/tree/master/go/....
Generating app passwords for those would work.
Yeah, I use an app specific password with Gmail, like the setup suggested by https://git-send-email.io/#step-2
Exchange historically had a tendency to mangle emails sent through it (whitespace changes, line wrap, etc), which is obviously bad news for patchmails. I dunno if it's any better these days.
davmail supports smtp through outlook(365)