twodave
3 months ago
A great many stiff serious people (in my opinion) are writing very discouraging comments here. Don’t let it get you down. The whole point of hacker culture is to break rules. If that’s what you enjoy then to hell with anyone else’s opinion. I think if you’re more worried about commit history being pristine than the experience of writing code and solving problems then you’ve missed the boat that makes the profession meaningful. Similarly, though, if writing lots of high quality commit messages is your idea of a fun weekend, then go do that and don’t listen to me, either.
Spivak
3 months ago
Yeah this project is great, it's exactly the kind of tedious work that should be automated by AI. Some weirdos are going to mythologize commit messages and MR descriptions like they aren't our industry's version of pointless paperwork.
thfuran
3 months ago
They aren’t pointless. They are (or at least can be) useful documentation. If they’re pointless, why bother generating them with AI instead of just leaving them blank?
Spivak
3 months ago
I see it as the same issue as doctor's notes. They're extremely useful but it's a waste of time to actually make the doctor do them. At some places it's a person's whole job to follow around a doctor and do all the busy work for them.
I'm not nearly important enough to have an intern write my commit messages but now that AI can do them, and do them extremely well, I'm more than happy to offload the work and get back to the actual work. The AI is far more thorough than I would be and because it takes away nearly all the mental effort the end result is, I think, better.
hrimfaxi
3 months ago
At least a scribe captures the doctor's thoughts. AI is not capturing the author's thoughts because it doesn't know what they were at commit time.
number6
3 months ago
As someone whos commit message are: fix, fix again, this hopefully works, again.
I am sure AI cannot even glims the frustration I feel committing these commits.
You can argue, that these messages are as poor as the code that I have written; but don't tell me you haven't been there -- and if you have please tell me your secret
skydhash
3 months ago
My secret is intent (and magit). If I’ going to write code, I already have a few goals in mind. That’s what I put in the commit message. Magit is for I did other stuff, so I can stage individual hunks/lines instead of whole files.
nextaccountic
3 months ago
My favorite git command is git commit --amend, my second is git rebase. Until you push, you don't need to keep adding new pointless commits
Actually I wish that we had two branches in parallel, one with cleaned up commits, another with how the software were actually edited. But we need tooling for that
Izkata
3 months ago
If you go all the way to where the cleaned-up version is a squash merge, as so many unfortunately do, we already have that: regular, non-squashed merges.
If you don't go that far, you could mimic something like it with sub-branches and merge commits for each one into your working branch, but I imagine it would be annoying to handle at that granularity.
dingnuts
3 months ago
[dead]
koolba
3 months ago
The number one audience for commit messages is yourself.
If you don’t have respect for your future self, don’t expect me to have respect for you.
esperent
3 months ago
I've literally never gone over my old commit messages on any personal projects.
The only time I've ever regretted not writing better messages on personal projects is when they eventually became shared. Which is like, twice, in a decade or so and wasn't even a big deal in those cases.
So when I'm writing commit messages, it is exclusively for other people.
kemayo
3 months ago
I actually have. I have a bunch of long-running projects, and it has sometimes been useful to be able to look back to the commit that added some behavior I'm not sure about now and go "oh, okay, this was part of a commit in 2014 where I said I was doing X".
(And sure, you could also say that I should have added better documentation back in 2014...)
fluidcruft
3 months ago
I usually use blame to find commits in those situations.
apsurd
3 months ago
The messages are for other people, also it's like any type of writing: tremendous value in the process of writing. in that way, i'm agreeing with the parent, it is for yourself. The process of writing commit messages is useful to yourself.
Being a good communicator is very commonly the main difference between "moving up" in one's career. Quotes because i don't want this to be a debate about IC vs management tracks.
abenga
3 months ago
A better question is why anyone should bother to take their time to read something that's not worth yours to write. This goes for most of AI output, honestly.
Spivak
3 months ago
See this has become a popular quip when talking about AI but it doesn't make any sense. Autogenerated API references are worth their weight in gold despite not being written by a human. Live captioning and transcription in Teams/Zoom is really useful when you you miss something and need to go back. Machine translations, as flawed as they might be, are a godsend despite not being written by a human translator.
You can apply this logic to procedurally generated games like No Man's Sky. Why would you want to play a level that a human didn't even bother to design?
abenga
3 months ago
You are selecting the subset of AI that generally makes sense and is useful. A lot of the things you mention (captioning, autogenerating APIs from code, etc) were solved problems, even before generative AI.
Spivak
3 months ago
And they might not even be implemented with AI, they were all examples times when you read something no human bothered to write. And I'm expecting the retort will be something to the effect of well they're just translating some source material written/spoken by a human but that's what's happening here with commit messages (and MR descriptions).
I'm not sure I would go whole-hog and let this tool rewrite my history but my `git commit -v` wraper pre-populates the commit message with something AI generated based on the diff and I've been quite happy with the results. I think my commit messages are much better as a result.