]> git.lizzy.rs Git - plan9front.git/commitdiff
git/revert: handle absolute paths gracefully (thanks deuteron)
authorOri Bernstein <ori@eigenstate.org>
Mon, 21 Jun 2021 02:12:58 +0000 (02:12 +0000)
committerOri Bernstein <ori@eigenstate.org>
Mon, 21 Jun 2021 02:12:58 +0000 (02:12 +0000)
when reverting files, absolute paths would get concatenated with
$gitrel; use `cleanname -d` to fix this.

sys/src/cmd/git/revert

index a96fcac1d95e42f7042ec48991023df285bf235d..a516e3a9dbc36cd527085e89920b8d2afb7273fd 100644 (file)
@@ -11,9 +11,10 @@ commit=$gitfs/HEAD
 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 ''