4 ms·
It can handle whatever you put into it, but obviously won't be able to diff them.
by ams1 16y ago
It can handle whatever you put into it, but obviously won't be able to diff them.
- eru 16y agoCan you provide your own diff-programs for different binary formats?
- jrockway 16y agoOf course. Git knows about three things; blobs, trees, and commits. A blob is a collection of bytes. It is stored on disk as a file containing the bytes named after the sha1 hash of the bytes. A tree is a set of mappings from name to a blob or a tree, allowing you to represent collections of blobs like they exist on disk. Finally, the commit object is some metadata (author, committer, date, message, etc.) and a tree object. Add some shell or Perl scripts on top of this, and you have Git. So if you can write a simple shell script, you can make git do whatever you want it to do. (That's why git seems so "messy" from an implementation standpoint, it's a bunch of shell and perl scripts that do random things. Darcs and Mercurial have a slightly more complicated model, and hence everything has to happen "inside". This results in a cleaner looking interface, but a lot less hackability.)