From a4d38ceadf6769759991e063853eed81ff25a5aa Mon Sep 17 00:00:00 2001 From: Bram Date: Tue, 14 Oct 2014 10:11:04 +0000 Subject: Added a comment: Diff of unlocked file --- ...ent_2_2e8324f47b66dce385263e258e94da16._comment | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 doc/todo/wishlist:_git_annex_diff/comment_2_2e8324f47b66dce385263e258e94da16._comment (limited to 'doc/todo') diff --git a/doc/todo/wishlist:_git_annex_diff/comment_2_2e8324f47b66dce385263e258e94da16._comment b/doc/todo/wishlist:_git_annex_diff/comment_2_2e8324f47b66dce385263e258e94da16._comment new file mode 100644 index 000000000..83501b791 --- /dev/null +++ b/doc/todo/wishlist:_git_annex_diff/comment_2_2e8324f47b66dce385263e258e94da16._comment @@ -0,0 +1,32 @@ +[[!comment format=mdwn + username="Bram" + ip="81.20.68.186" + subject="Diff of unlocked file" + date="2014-10-14T10:11:04Z" + content=""" +I wrote a little shell script that implements part of this request. It shows the diff between an unlocked file and its locked version (i.e. the current edits that have not yet been annexed). +This only works in non-direct mode, and obviously with 'diffable' content only. + +Usage is simple, the only parameter it requires is the unlocked filename. + + #!/bin/bash + + DIFF=\"diff\" + FILE=\"$1\" + KEY=$(git annex lookupkey \"$FILE\") + + GITPATH=\"$(git rev-parse --show-toplevel)/.git\" + ANNEXPATH=$GITPATH/annex/objects/$(git annex examinekey --format='${hashdirmixed}${key}/${key}' \"$KEY\") + + if [ -L \"$FILE\" ]; then + echo \"$FILE is not unlocked.\" > /dev/stderr + else + if [ -r \"$ANNEXPATH\" ]; then + $DIFF \"$ANNEXPATH\" \"$FILE\" + else + echo \"Cannot find $ANNEXPATH\" > /dev/stderr + exit 1 + fi + exit 1 + fi +"""]] -- cgit v1.2.3