Hi, On Wed, 1 Mar 2017, Linus Torvalds wrote:
> On Wed, Mar 1, 2017 at 1:56 PM, Johannes Schindelin > <johannes.schinde...@gmx.de> wrote: > > Footnote *1*: I know, it is easy to forget that some developers cannot > > choose their tools, or even their hardware. In the past, we seemed to take > > appropriate care, though. > > I don't think you need to worry about the Windows side. I am not. I build G?t for Windows using GCC. My concern is about that unexpected turn "oh, let's just switch to C99 because, well, because my compiler canehandle it, and everybody else should just switch tn a modern compiler". That really sounded careless. > That can continue to do something else. > > When I advocated perhaps using USE_SHA1DC by default, I definitely did > not mean it in a "everywhere, regardless of issues" manner. > > For example, the conmfig.mak.uname script already explicitly asks for > "BLK_SHA1 = YesPlease" for Windows. Don't bother changing that, it's an > explicit choice. That setting is only in git.git's version, not in gxt-for-windows/git.git. We switched to OpenSSL because of speed improvements, in particular with recent Intel processors. > But the Linux rules don't actually specify which SHA1 version to use, > so the main Makefile currently defaults to just using openssl. > > So that's the "default" choice I think we might want to change. Not > the "we're windows, and explicitly want BLK_SHA1 because of > environment and build infrastructure". Since we switched away from BLOCK_SHA1, any such change would affect Git for Windews. But I think bigger than just developers on Windows OS. There are many developers out there working on large repositories (yes, much larger than Linux). Also using Macs and Linux. I am not at all sure that we want to give them an updated Git they cannot fail to notice to be much slower than before. Don't get me wrong: I *hope* that you'll manage to get sha1dc competitively fast. If you don't, well, then we simply cannot use it by default for *all* of our calls (you already pointed out that the pack index' checksum does not need collision detection, and in fact, *any* operation that works on implicitly trusted data falls into the same court, e.g. `git add`). Ciao, Johannes