projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
merge-recursive: conflicting rename case.
[git.git]
/
git-reset.sh
diff --git
a/git-reset.sh
b/git-reset.sh
index
e028ff6
..
eb44ee8
100755
(executable)
--- a/
git-reset.sh
+++ b/
git-reset.sh
@@
-1,5
+1,7
@@
#!/bin/sh
#!/bin/sh
-. git-sh-setup || die "Not a git archive"
+
+USAGE='[--mixed | --soft | --hard] [<commit-ish>]'
+. git-sh-setup
tmp=/var/tmp/reset.$$
trap 'rm -f $tmp-*' 0 1 2 3 15
tmp=/var/tmp/reset.$$
trap 'rm -f $tmp-*' 0 1 2 3 15
@@
-10,6
+12,8
@@
case "$1" in
reset_type="$1"
shift
;;
reset_type="$1"
shift
;;
+-*)
+ usage ;;
esac
rev=$(git-rev-parse --verify --default HEAD "$@") || exit
esac
rev=$(git-rev-parse --verify --default HEAD "$@") || exit
@@
-60,7
+64,7
@@
then
else
rm -f "$GIT_DIR/ORIG_HEAD"
fi
else
rm -f "$GIT_DIR/ORIG_HEAD"
fi
-
echo "$rev" >"$GIT_DIR/HEAD
"
+
git-update-ref HEAD "$rev
"
case "$reset_type" in
--hard )
case "$reset_type" in
--hard )
@@
-81,10
+85,12
@@
case "$reset_type" in
while (<$fh>) {
chomp;
if (! exists $keep{$_}) {
while (<$fh>) {
chomp;
if (! exists $keep{$_}) {
- print "$_\0";
+ # it is ok if this fails -- it may already
+ # have been culled by checkout-index.
+ unlink $_;
}
}
}
}
- ' $tmp-exists
| xargs -0 rm -f --
+ ' $tmp-exists
;;
--soft )
;; # Nothing else to do
;;
--soft )
;; # Nothing else to do