Subject: Re: Windows support

From: Steven Grimm <[email-masked]>
Date: Thu, 26 Jul 2007 13:11:48 +0800

Wrote this reply privately earlier; forwarding to the list at Dmitry's 
suggestion (though it's rendered slightly less relevant by his 
clarifications)...

Dmitry Kakurin wrote:
> This actually answers my question (if it's true).
> If core team is not interested in supporting Windows then I cannot
> trust this system with my source code :-(.
>   

I certainly understand the conclusion, but I'm not sure I would share 
it. Unless you have reason to believe there's something in particular 
about the Windows environment that would cause git to lose data in 
circumstances where it wouldn't do so under UNIX-ish systems, it seems 
like your data should be perfectly safe.

In the year-and-a-bit I've been lurking on the git mailing list and 
making occasional contributions to the code, git has never lost any data 
for anyone to my knowledge. Its design is extremely paranoid in that 
regard, and the paranoia is not really anything platform-dependent. It's 
stuff like, never overwrite files in place (always write a new file 
then, once it's written successfully, get rid of the old one if needed). 
Or, as importantly, keep SHA1 hashes of *everything* and double-check 
them often. Those approaches are just as valid on Windows as on any 
other OS. The SHA1 hashes in particular are pretty unimpeachable, IMO; 
the times people have thought their git repositories have gotten 
corrupted, it has always turned out to be underlying filesystem or disk 
corruption that git's SHA1 checking has caught.

If there are data loss bugs in git (and of course it's possible, even if 
none have been reported to my knowledge) IMO they're vastly more likely 
to be generic than platform-specific.

One nice thing about git is you don't have to take its word for your 
data integrity. You can, without a whole lot of effort, dump out every 
file in the repository and verify that it is what git says it is.

Anyway, I guess my feeling would be, if I were going to choose to not 
use git on Windows it would be because of smoothness of the experience, 
lack of integration with Windows tools, difficult installation process, 
or stuff like that. Data integrity would not even cross my mind as a 
downside of git.

-Steve