Re: mingw, windows, crlf/lf, and git

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linus Torvalds
Date: Tuesday, February 13, 2007 - 10:36 pm

On Tue, 13 Feb 2007, Junio C Hamano wrote:

Well, the thing is, mmfile_is_binary() doesn't really have a big downside 
if it's wrong one way or the other.

In contrast CR->CRLF conversion, if wrong, actually corrupts binary files. 
So I felt it was better to be really safe than sorry. It's *much* better 
to miss some CRLF translation than to do too much of it.

That said, I'm sure it could be improved a lot. In particular, characters 
in the range 0x00 - 0x1f are clearly "more binary" than the 0x7f+ range, 
with the obvious exceptions (tab, cr, lf).

0x00 - which is the only one mmfile_is_binart() uses - is arguably the 
"most binary" one, of course, but it might be interesting to give 
different weights to the whole range.. In particular, especially for small 
files, the fact that there is no 0x00 byte in no way indicates that it's 
not "binary".

This whole issue is obviously one reason I'd like to involve the filename 
itself, and make it use a ".gitattributes" file - exactly because that 
allows you to be much more aggressive and more precise.

(0x00 may be one of the more _common_ characters in many binary files, 
which makes it a good character to search for too, so I don't really have 
any hugely strong opinions here. After all, the whole heuristic is off by 
default anyway, so it's "really safe" ;^)

			Linus


-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
mingw, windows, crlf/lf, and git, Mark Levedahl, (Sun Feb 11, 4:13 pm)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Sun Feb 11, 4:34 pm)
Re: mingw, windows, crlf/lf, and git, Robin Rosenberg, (Sun Feb 11, 5:14 pm)
Re: mingw, windows, crlf/lf, and git, Mark Levedahl, (Sun Feb 11, 7:37 pm)
Re: mingw, windows, crlf/lf, and git, Theodore Tso, (Sun Feb 11, 9:24 pm)
Re: mingw, windows, crlf/lf, and git, David Lang, (Mon Feb 12, 12:28 am)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Mon Feb 12, 4:36 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Mon Feb 12, 10:20 am)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Mon Feb 12, 3:37 pm)
Re: mingw, windows, crlf/lf, and git, Junio C Hamano, (Mon Feb 12, 3:54 pm)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Mon Feb 12, 4:02 pm)
Re: mingw, windows, crlf/lf, and git, Junio C Hamano, (Mon Feb 12, 4:02 pm)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Mon Feb 12, 4:09 pm)
Re: mingw, windows, crlf/lf, and git, David Lang, (Mon Feb 12, 4:23 pm)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Mon Feb 12, 4:24 pm)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Mon Feb 12, 4:25 pm)
Re: mingw, windows, crlf/lf, and git, Junio C Hamano, (Mon Feb 12, 4:42 pm)
Re: mingw, windows, crlf/lf, and git, David Lang, (Mon Feb 12, 4:46 pm)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Mon Feb 12, 4:50 pm)
Re: mingw, windows, crlf/lf, and git, Mark Levedahl, (Mon Feb 12, 5:32 pm)
Re: mingw, windows, crlf/lf, and git, Mark Levedahl, (Mon Feb 12, 5:59 pm)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Mon Feb 12, 6:06 pm)
Re: mingw, windows, crlf/lf, and git, Shawn O. Pearce, (Mon Feb 12, 6:13 pm)
Re: mingw, windows, crlf/lf, and git, David Lang, (Mon Feb 12, 6:20 pm)
Re: mingw, windows, crlf/lf, and git, Mark Levedahl, (Mon Feb 12, 6:36 pm)
Re: mingw, windows, crlf/lf, and git, Junio C Hamano, (Mon Feb 12, 7:02 pm)
Re: mingw, windows, crlf/lf, and git, Mark Levedahl, (Mon Feb 12, 8:21 pm)
Re: mingw, windows, crlf/lf, and git, Alexander Litvinov, (Mon Feb 12, 8:32 pm)
Re: mingw, windows, crlf/lf, and git, Jeff King, (Mon Feb 12, 10:18 pm)
Re: mingw, windows, crlf/lf, and git, Junio C Hamano, (Mon Feb 12, 11:05 pm)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Tue Feb 13, 3:06 am)
Re: mingw, windows, crlf/lf, and git, Alexander Litvinov, (Tue Feb 13, 5:16 am)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Tue Feb 13, 5:37 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Tue Feb 13, 9:52 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Tue Feb 13, 10:23 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Tue Feb 13, 10:23 am)
Re: mingw, windows, crlf/lf, and git, Nicolas Pitre, (Tue Feb 13, 10:25 am)
Re: mingw, windows, crlf/lf, and git, Junio C Hamano, (Tue Feb 13, 11:00 am)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Tue Feb 13, 11:04 am)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Tue Feb 13, 11:05 am)
Re: mingw, windows, crlf/lf, and git, Junio C Hamano, (Tue Feb 13, 11:11 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Tue Feb 13, 11:39 am)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Tue Feb 13, 11:42 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Tue Feb 13, 12:07 pm)
Re: mingw, windows, crlf/lf, and git, Sam Ravnborg, (Tue Feb 13, 1:42 pm)
Re: mingw, windows, crlf/lf, and git, Nicolas Pitre, (Tue Feb 13, 2:08 pm)
Re: mingw, windows, crlf/lf, and git, David Lang, (Tue Feb 13, 4:19 pm)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Tue Feb 13, 4:28 pm)
Re: mingw, windows, crlf/lf, and git, Alexander Litvinov, (Tue Feb 13, 8:47 pm)
Re: mingw, windows, crlf/lf, and git, Junio C Hamano, (Tue Feb 13, 10:16 pm)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Tue Feb 13, 10:36 pm)
Re: mingw, windows, crlf/lf, and git, Sam Ravnborg, (Wed Feb 14, 1:41 am)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Wed Feb 14, 4:10 am)
Re: mingw, windows, crlf/lf, and git, Alexander Litvinov, (Wed Feb 14, 4:36 am)
Re: mingw, windows, crlf/lf, and git, Mark Levedahl, (Wed Feb 14, 7:26 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Wed Feb 14, 8:44 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Wed Feb 14, 8:51 am)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Wed Feb 14, 8:53 am)
Re: mingw, windows, crlf/lf, and git, Johannes Schindelin, (Wed Feb 14, 8:56 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Wed Feb 14, 9:23 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Wed Feb 14, 9:28 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Wed Feb 14, 9:37 am)
Re: mingw, windows, crlf/lf, and git, Junio C Hamano, (Wed Feb 14, 9:39 am)
Re: mingw, windows, crlf/lf, and git, Sam Ravnborg, (Wed Feb 14, 9:47 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Wed Feb 14, 10:01 am)
Re: mingw, windows, crlf/lf, and git, Junio C Hamano, (Wed Feb 14, 10:18 am)
Re: mingw, windows, crlf/lf, and git, Mark Levedahl, (Wed Feb 14, 10:28 am)
Re: mingw, windows, crlf/lf, and git, Junio C Hamano, (Wed Feb 14, 10:29 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Wed Feb 14, 10:43 am)
Re: mingw, windows, crlf/lf, and git, Robin Rosenberg, (Wed Feb 14, 11:17 am)
Re: mingw, windows, crlf/lf, and git, Linus Torvalds, (Wed Feb 14, 11:31 am)
Re: mingw, windows, crlf/lf, and git, Robin Rosenberg, (Wed Feb 14, 1:24 pm)