webrev: "hg copy" issue

Ichiroh Takiguchi takiguc at linux.vnet.ibm.com
Mon Apr 16 17:22:45 UTC 2018


Hello.

It seems webrev.ksh (version: 25.16-hg+openjdk.java.net) treats "hg 
copy" action
like "hg move" action.
Because of this issue, *.patch file had entry for file remove action.
I'm not sure, it's well-known issue or not.
Anyway, I created sample fix, please check it.

Thanks,
Ichiroh Takiguchi

===========================================
--- webrev.ksh.orig	2018-04-13 15:01:18.000000000 +0900
+++ webrev.ksh	2018-04-13 18:35:59.000000000 +0900
@@ -1596,12 +1596,14 @@
  		fi
  	    done
  	done < $FLIST.temp
+	> $FLIST.clean.remove
  	hg status $STATUS_REV -rn | $FILTER > $FLIST.temp
  	while read RFILE; do
-	    grep "$RFILE" $FLIST >/dev/null
+	    egrep "^$RFILE\$| $RFILE\$" $FLIST >/dev/null
  	    if [ $? -eq 1 ]; then
  		echo $RFILE >>$FLIST
  	    fi
+	    echo $RFILE >>$FLIST.clean.remove
  	done < $FLIST.temp
  	rm -f $FLIST.temp
      fi
@@ -2313,11 +2315,18 @@
  	oldname=""
  	oldpath=""
  	rename=
+	copy=
  	if [[ $# -eq 2 ]]; then
  		PP=$2			# old filename
  		oldname=" (was $PP)"
  		oldpath="$PP"
  		rename=1
+		# if the file is renamed, file name should be in $FLIST.remove
+		# if the file is copied, file name should not be in $FLIST.rename
+		grep "^$PP$" $FLIST.remove >/dev/null
+		if [ $? -eq 1 ]; then
+			copy=1
+		fi
          	PDIR=${PP%/*}
          	if [[ $PDIR == $PP ]]; then
  			PDIR="."   # File at root of workspace
@@ -2495,8 +2504,10 @@
                        diff -u $ofile $nfile > $WDIR/$DIR/$F.patch
                    fi
                else
+                if [[ -z $copy ]]; then
                    diff -u $ofile /dev/null | sh -c "$cleanse_rmfile" \
                        > $WDIR/$DIR/$F.patch
+                fi

                    diff -u /dev/null $nfile | sh -c "$cleanse_newfile" \
                        >> $WDIR/$DIR/$F.patch
===========================================



More information about the webrev-dev mailing list