On 9/14/07, Andrew McNabb <[EMAIL PROTECTED]> wrote:
> On Fri, Sep 14, 2007 at 08:58:20PM -0600, Von Fugal wrote:
> >
> > Is there a reason that SCMs don't do deltas on 'binary' files? I mean
> > besides the obvious they're opaque to a human. Still, it's all just bits
> > to the computer anyway. So why not store deltas on binaries?
>
> I know git does, but I don't think most other systems do.  I don't know
> how well it does with them, though.

Actually, what I read was that git doesn't do deltas on any files by
default.  It stores whole copies of each new version, until you
manually have it "pack" your repository.  Then it does deltas
(probably on the binary files too, I don't know).  Sorry I can't find
a link to explain it better, but see the git pack commands:

http://www.kernel.org/pub/software/scm/git/docs/git-pack-objects.html
http://www.kernel.org/pub/software/scm/git/docs/git-repack.html

As far as why don't SCMs do deltas on 'binary' files, I believe it's
because it would be too easy to end up corrupting certain binary files
when trying to reassemble them from a list of deltas, or when
performing a merge, or worse, a merge with conflicts.  Also, how do
you present a meaningful diff of two different versions to the end
user?  It's easier to throw up your hands and say, "whoa, this is a
binary file that I know nothing about, I am not going to mess with
it."

Bryan
--------------------
BYU Unix Users Group 
http://uug.byu.edu/ 

The opinions expressed in this message are the responsibility of their
author.  They are not endorsed by BYU, the BYU CS Department or BYU-UUG. 
___________________________________________________________________
List Info: http://uug.byu.edu/mailman/listinfo/uug-list

Reply via email to