logoalt Hacker News

btreecatyesterday at 3:07 PM2 repliesview on HN

[flagged]


Replies

throw-the-towelyesterday at 4:03 PM

Nice technical argument you've got here.

show 1 reply
zzzeekyesterday at 4:32 PM

just so you know, this line

> Where you'd rather have every comment, change and scrap of info available to understand what you're trying to maintain because the folks before you are long gone.

see that's a common story from a legacy way of working, back when everyone wrote perl / php scripts and shoved it all into a repo.

The way that people years from now understand what someone else did is that when that someone else does the thing, it's presented for code review. That is, your patch does not go in at all if nobody else knows how it works. You present each change as a logical series of commits, without lots of noise like "fixed typo" or "oops forgot this test", just the way people present patches on the LKML (this is why Linus "got it" before anyone else did), and then other people review it, which is where it's established, "this change makes sense, I understand why and how you did it, and it has good tests".

When you work on a project that is truly long term, you yourself need these records to understand what you did 10 or 15 years ago. So there's no issue that short term history was modified, this is actually essential, because what you're doing is editing the story of how a change came about and presenting it for review. Having it be a long series of small commits that sometimes reverse each other is not going to help anyone understand a particular feature or change, it's noise.

show 1 reply