git: 9front

Download patch

ref: c23736f35ed7a2cc1dcdbca7cd4d8418cad76d86
parent: ea6ecd6aed0a64bf439816ba1bd1732d7e7b5078
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 ''
--