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 ''
--
⑨