diff options
Diffstat (limited to 'contrib/plan9/9diff')
-rwxr-xr-x | contrib/plan9/9diff | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/contrib/plan9/9diff b/contrib/plan9/9diff deleted file mode 100755 index 02af2a9..0000000 --- a/contrib/plan9/9diff +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/rc -# 9diff - Mercurial extdiff wrapper for diff(1) - -rfork e - -fn getfiles { - cd $1 && - for(f in `{du -as | awk '{print $2}'}) - test -f $f && echo `{cleanname $f} -} - -fn usage { - echo >[1=2] usage: 9diff [diff options] parent child root - exit usage -} - -opts=() -while(~ $1 -*){ - opts=($opts $1) - shift -} -if(! ~ $#* 3) - usage - -# extdiff will set the parent and child to a single file if there is -# only one change. If there are multiple changes, directories will be -# set. diff(1) does not cope particularly with directories; instead we -# do the recursion ourselves and diff each file individually. -if(test -f $1) - diff $opts $1 $2 -if not{ - # extdiff will create a snapshot of the working copy to prevent - # conflicts during the diff. We circumvent this behavior by - # diffing against the repository root to produce plumbable - # output. This is antisocial. - for(f in `{sort -u <{getfiles $1} <{getfiles $2}}){ - file1=$1/$f; test -f $file1 || file1=/dev/null - file2=$3/$f; test -f $file2 || file2=/dev/null - diff $opts $file1 $file2 - } -} -exit '' |