'git diff' against files outside a git repo

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I'm interested in using 'git diff' on some files that aren't actually
inside a git repo at all.  Specifically, the --color-words and
--word-diff-regex are really cool and I happen to have a use for them
on files that aren't stored verbatim in git.  As a whole, git's
implementation of diff seems to be the fastest-moving one out there,
so I'd rather use it instead of another random diff implementation.

(For the curious: the particular "files" I want to compare are
actually split into a hierarchical tree of blobs using bup's rolling
checksum and *then* stored in git.  Obviously I have to reassemble
them before I can diff them, which is fine and easy, but I then want
to run 'git diff' against them, which seems to not be so easy.)

(For the extremely curious: the particular files I want to diff are
mega-gigantic csv files from database dumps.  Because of bup's tree
format, I should be able to zoom in on just the overall part of the
file that has changed, then diff only that, which will be much faster
than running a diff algorithm against the whole file.  Essentially
O(log n) vs. the file size.)

Is there already a way to get 'git diff' to do this?

If not, would it be sensible to extend git-diff to do comparison
between two outside files?

Or should I stop trying to do this and use some other diff
implementation instead?

Another alternative would be to teach git directly how to act on
bup-style large objects, but that's... a lot of work.  And it's not
obvious that a patch to do so would be accepted anyhow, since
bup-style storage is necessarily not as space-efficient and is harder
to deltify.

Thanks,

Avery
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]