code: plan9front

Download patch

ref: 21075859e4f3ed93ef2a8ae072cc23d575b4549c
parent: 0339e9ac44b4aed285391727ce3d6e3e1afd173e
author: Ori Bernstein <ori@eigenstate.org>
date: Sun Jun 20 22:12:58 EDT 2021

git/revert: handle absolute paths gracefully (thanks deuteron)

when reverting files, absolute paths would get concatenated with
$gitrel; use `cleanname -d` to fix this.

--- a/sys/src/cmd/git/revert
+++ b/sys/src/cmd/git/revert
@@ -11,9 +11,10 @@
 if(~ $#query 1)
 	commit=`{git/query -p $query}
 
-for(f in `$nl{cd $commit/tree/ && walk -f ./$gitrel/$*}){
+files=`$nl{cleanname -d $gitrel $*}
+for(f in `$nl{cd $commit/tree/ && walk -f $files}){
 	mkdir -p `{basename -d $f}
-	cp -- $commit/tree/$f $f
+	cp -x -- $commit/tree/$f $f
 	git/add $f
 }
 exit ''