Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-09-25 09:52:32 +0400
committerJunio C Hamano <junkio@cox.net>2005-09-27 05:04:17 +0400
commite2f5f6ef6795c880a2f13ea472b96704b4a4ca94 (patch)
tree026f1225da4579fbf0017f4cfe8a8e4b06e299d6 /git-revert.sh
parenta935824036dc2c5a8ef1980a4b05a12228712754 (diff)
Do not require clean tree when reverting and cherry-picking.
My stupidity deserved to be yelled at by Linus ... there is no reason to require the working tree to be clean when merging -- the only requirements are index to match HEAD commit and the paths involved in merge are up to date in the working tree. Revert and cherry-pick are just specialized forms of merge, and the requirements should be the same. Remove the 'general purpose routine to make sure tree is clean' from git-sh-setup, to prevent me from getting tempted again. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-revert.sh')
-rwxr-xr-xgit-revert.sh5
1 files changed, 4 insertions, 1 deletions
diff --git a/git-revert.sh b/git-revert.sh
index 722c4f755a..dfd914cf56 100755
--- a/git-revert.sh
+++ b/git-revert.sh
@@ -56,9 +56,12 @@ t)
die "Your index file is unmerged."
;;
*)
- check_clean_tree || die "Cannot run $me from a dirty tree."
head=$(git-rev-parse --verify HEAD) ||
die "You do not have a valid HEAD"
+ files=$(git-diff-index --cached --name-only $head) || exit
+ if [ "$files" ]; then
+ die "Dirty index: cannot $me (dirty: $files)"
+ fi
;;
esac