##// END OF EJS Templates
crecord: move status window text calculation to a separate method...
crecord: move status window text calculation to a separate method We will do some changes there in the next patches. The new method would also be the "source of truth" of the content of the status window (so if the status window needs more than 2 lines, it would be calculated from the new method). Also, moved "statuswin.refresh" to make the code compact and easier to read.

File last commit:

r16556:f9262456 stable
r30544:d4035372 default
Show More
9diff
42 lines | 1.0 KiB | text/plain | TextLexer
Steven Stallion
plan9: initial support for plan 9 from bell labs...
r16383 #!/bin/rc
# 9diff - Mercurial extdiff wrapper for diff(1)
rfork e
Steven Stallion
plan9: mkfile and 9diff fixes...
r16556 fn getfiles {
cd $1 &&
Steven Stallion
plan9: initial support for plan 9 from bell labs...
r16383 for(f in `{du -as | awk '{print $2}'})
test -f $f && echo `{cleanname $f}
}
Steven Stallion
plan9: mkfile and 9diff fixes...
r16556 fn usage {
Steven Stallion
plan9: initial support for plan 9 from bell labs...
r16383 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 ''