X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-reset.sh;h=6cb073cb16f8b8d8b923bd0cd77be00da0e169e3;hb=f3dd5eae58cf3d0d944604af4c71a7043d5368fd;hp=2086d26d343c59d36df79d874d65f58d6d7d8b10;hpb=302ebfe52192fff9a2c1c612dff22325fd073acc;p=git.git diff --git a/git-reset.sh b/git-reset.sh index 2086d26d..6cb073cb 100755 --- a/git-reset.sh +++ b/git-reset.sh @@ -1,11 +1,9 @@ #!/bin/sh -. git-sh-setup || die "Not a git archive" -usage () { - die 'Usage: git reset [--mixed | --soft | --hard] []' -} +USAGE='[--mixed | --soft | --hard] []' +. git-sh-setup -tmp=/var/tmp/reset.$$ +tmp=${GIT_DIR}/reset.$$ trap 'rm -f $tmp-*' 0 1 2 3 15 reset_type=--mixed @@ -90,6 +88,9 @@ case "$reset_type" in # it is ok if this fails -- it may already # have been culled by checkout-index. unlink $_; + while (s|/[^/]*$||) { + rmdir($_) or last; + } } } ' $tmp-exists @@ -102,4 +103,4 @@ case "$reset_type" in ;; esac -rm -f "$GIT_DIR/MERGE_HEAD" +rm -f "$GIT_DIR/MERGE_HEAD" "$GIT_DIR/rr-cache/MERGE_RR"