DiffDebugging is not a term I have ever heard of before, but I guess it's something I do on a regular basis. The code used to work, it doesn't now, WTF has changed?
DiffDebugging
11–20 of 43 posts
Re: DiffDebugging
#12Stop doing it.
Re: DiffDebugging
#13Martin, small commits interrupt flow, contain intermediary trains of thought that aren’t relevant, and decompose the entirety of the feature in to unrecognizable pieces removing all wholistic meaning. Stop doing it.
Re: DiffDebugging
#14A more generic term is "delta debugging", which has been around for a while. git bisect is one example of a tool which does it, another is Zeller's DD tool https://www.st.cs.uni-saarland.de/dd/ It's also possible to do this is a Bayesian fashion.
Re: DiffDebugging
#15A more generic term is "delta debugging", which has been around for a while. git bisect is one example of a tool which does it, another is Zeller's DD tool https://www.st.cs.uni-saarland.de/dd/ It's also possible to do this is a Bayesian fashion.
Re: DiffDebugging
#16Martin, small commits interrupt flow, contain intermediary trains of thought that aren’t relevant, and decompose the entirety of the feature in to unrecognizable pieces removing all wholistic meaning. Stop doing it.
When you're looking for a smoking gun commit, you want it as small as possible, otherwise it'll take longer to fix.
Re: DiffDebugging
#17Martin, small commits interrupt flow, contain intermediary trains of thought that aren’t relevant, and decompose the entirety of the feature in to unrecognizable pieces removing all wholistic meaning. Stop doing it.
sorta. this really varies strongly from person to person and i wouldn't generalize. but you can construct small commits after you're done with your work.
> contain intermediary trains of thought that aren't relevant
no. delete these, they should not be present in the final history.
> decompose the [...]
i don't know what this is supposed to mean.
Re: DiffDebugging
#18Martin, small commits interrupt flow, contain intermediary trains of thought that aren’t relevant, and decompose the entirety of the feature in to unrecognizable pieces removing all wholistic meaning. Stop doing it.
But it's much easier to rebase, squash, and reorder lots of small commits than a few big ones.
Re: DiffDebugging
#19If you're unfortunate enough to have an impoverished "linear history", you're stuck figuring out whether it's "bad" or "skip", sorry.
Re: DiffDebugging
#20> I originally posted this page on 2004-06-01... Diff debugging isn't a term that's caught on much in the industry, but I haven't seen a another term generally used to describe it. I can't speak to 2004, but these days "bisect" is the standard term in my circles (even when we're not actually using git and its bisect command). It would be interesting to know whether git was the first to associate that word with this a…