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

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Theodore Tso
Date: Sunday, February 11, 2007 - 9:24 pm

On Sun, Feb 11, 2007 at 06:13:16PM -0500, Mark Levedahl wrote:

So this is something that I've tried proposing to the Mercurial
developers, but it's never been implemented in hg.  It'll be
interesting to see what the git community thinks.  :-)

My proposal does require adding a file type to each file, as tracked
metadata, which may doom it from the start.  If you add a file type,
then you have to support mutating the file type, and some way of
handling merge conflicts (generally, picking one type or another).

Then for each file type, we implement a set of interfaces (perhaps as
simple as a series of executables named git-<type>-<operation>) which
if present, transforms the file from its live format to the canonical
format which is actually checked in and back again.  Besides using
this for the DOS CR/LF problem, it also allows for an efficient
storage of things like OpenOffice files which are a zipped set of .xml
files.  By decompressing them before pushing them into the SCM, it
means that if the user makes a tiny spelling correction in their
OpenOffice file, the delta stored in the git repository can be much
more efficiently stored (since the diff of the .xml tree will be
small, where as the diff of the entire compressed file is likely going
to be close to the entire size of the .odt file).

Another nice thing to provide for each file type would be a
pretty-printer for the diffs, so it becomes easier to see the delta
between two versions of an OpenOffice file in a textual window.

So, is this idea sane or completely insane?  Hopefully it passes
Linus's it-solves-multiple-problems-at-once test, at least.  :-)

							- Ted
-
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)