diffdriver: New git-annex command, to make git external diff drivers work with annexed files.

Closes https://github.com/datalad/datalad/issues/18
This commit is contained in:
Joey Hess 2014-11-24 16:14:01 -04:00
parent 6db880be11
commit 6ecd3ff421
6 changed files with 133 additions and 4 deletions

View file

@ -989,6 +989,21 @@ subdirectories).
Merge conflicts between two files that are not annexed will not be
automatically resolved.
* `diffdriver`
This is an external git diff driver shim. Normally, when using `git diff`
with an external git driver, the symlinks to annexed files are not set up
right, so the external git driver cannot read them in order to perform
smart diffing of their contents. This command works around the problem,
by passing the fixed up files to the real external diff driver.
To use, just configure git to use "git-annex diffdriver -- cmd params --"
as the external diff command, where cmd is the real external diff
command you want to use, and params are any extra parameters to pass
to it. Note the trailing "--", which is required.
For example, set `GIT_EXTERNAL_DIFF=git-annex diffdriver -- j-c-diff --`
* `remotedaemon`
Detects when network remotes have received git pushes and fetches from them.

View file

@ -7,3 +7,7 @@ Should be relatively simple, only there would have to be a way to deal with the
Of course you wouldn't want to diff two large files, but with git annex assistant, all files are annexed by default (right?), so this would be useful.
There might already be a way to easily diff two versions of an annexed file which I'm missing -- in that case please point me to it! :)
> [[done]]; rather than adding a `git annex diff`, I made git-annex be able to be used as a git diff driver command,
> which in turn can run some third-party external diff driver that does
> some smart handling of binary files.