Mercurial > hg
view contrib/plan9/9diff @ 47385:9d9eb22b9b69
revlog: no longer return sidedata from `_revisiondata`
All users have been migrated.
When they was introduced sidedata where grouped with the actual revision data
and unpacking one came with the other. Sidedata moved be stored "independently"
and it no longer make sense to retrieve both at the same time unconditionnaly.
Differential Revision: https://phab.mercurial-scm.org/D10783
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 27 May 2021 03:41:02 +0200 |
parents | f9262456fb01 |
children |
line wrap: on
line source
#!/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 ''