RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 09-Dec-2007 05:46:16 Branch: rpm-4_5 Handle: 2007120904461600 Modified files: (Branch: rpm-4_5) rpm/scripts gendiff Log: Add some undocumented feature to gendiff Summary: Revision Changes Path 1.1.2.3 +30 -7 rpm/scripts/gendiff ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/scripts/gendiff ============================================================================ $ cvs diff -u -r1.1.2.2 -r1.1.2.3 gendiff --- rpm/scripts/gendiff 18 Jun 2007 16:32:24 -0000 1.1.2.2 +++ rpm/scripts/gendiff 9 Dec 2007 04:46:16 -0000 1.1.2.3 @@ -1,21 +1,44 @@ #!/bin/sh -[ -z "$1" -o -z "$2" ] && { -# usage +function usage () { echo "usage: $0 <directory> <diff-extension>" 1>&2 exit 1 } : ${DIFF:=diff -p} -find $1 \( -name "*$2" -o -name ".*$2" \) -print | +if [ "$1" = "-p" -a -z "$3" ];then + echo "With -p you need to give the definition of patch (like dummy)" + exit 1 +fi + +if [ "$1" = "-p" ];then + DEFAULT_PATCH="$2" + shift; + shift; +fi + +[ -z "$1" ] && usage + +[ -z "$PATCH_PREFIX" -a -z "$2" ] && { + echo "usage: $0 <directory> <diff-extension>" 1>&2 + exit 1 +} + +if [ -n "$DEFAULT_PATCH" -a "$RPM" ];then + FILEPATCH="$RPM/SOURCES/$(echo $1|sed 's@/@@g')-$DEFAULT_PATCH.patch" + [ -f $FILEPATCH ] && mv -f $FILEPATCH $FILEPATCH.old +fi + +[ -n "$2" ] && PATCH_PREFIX=$2 + +find $1 \( -name "*$PATCH_PREFIX" -o -name ".*$PATCH_PREFIX" \) -print | while read f; do U=-u [ "`basename $f`" = "ChangeLog$2" ] && U=-U0 -# ${DIFF} ${U} $f `echo $f | sed s/$2\$//` - if [ -r "$f" ]; then - ${DIFF} ${U} "${f}" "${f%$2}" + if [ -z "$DEFAULT_PATCH" ];then + ${DIFF} ${U} $f `echo $f | sed s/$PATCH_PREFIX\$//` else - ${DIFF} ${U} /dev/null "${f%$2}" + ${DIFF} ${U} $f `echo $f | sed s/$PATCH_PREFIX\$//`|tee -a $FILEPATCH fi done @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org