Gmane
From: Linus Torvalds <torvalds <at> osdl.org>
Subject: Re: git versus CVS (versus bk)
Newsgroups: gmane.comp.version-control.git
Date: 2005-10-31 21:53:21 GMT (3 years, 35 weeks, 2 days, 2 hours and 46 minutes ago)

On Mon, 31 Oct 2005, Joel Becker wrote:
> 
> 	I could care less about preserving my public image.  I'm an
> idiot, I screw up all the time.  I only care that the tip of my tree is
> respectable.

I definitely care about more than just the tip.

A broken history is a _problem_. Automatic tools like "git bisect" can't 
help you if you have lots of commits in between that are fundamentally 
broken. And even ignoring that, it just makes it harder for everybody to 
understand what the code does when "git-whatchanged" shows total crap that 
was undone.

History is important. It's important enough that you should keep it 
meaningful. And "meaningful" does not mean "show all your mistakes". 

Some people will say that the mistakes are as important as the fixes. I 
call bull on that. Mistakes are mistakes. Dead ends aren't useful, even as 
historical examples. 

At the same time, I'm not a rabid "history must be perfect" freak. 
Mistakes happen. Just fix then and move on.

When you have guests over, I sure hope that you don't walk around in your 
bathrobe, with pieces of your anatomy sticking out that shouldn't stick 
out. Sure, it may be the "real you", but there's a difference between 
being honest, and just being disgusting.

The same is true of SCM history. There's "honesty", and there's "digusting 
mess". At least when it comes to the kernel, I want the "honest" kind of 
history, not the "disgusting" kind.

			Linus