Code

revert/cherry-pick: allow starting from dirty work tree.
authorJunio C Hamano <gitster@pobox.com>
Tue, 13 Nov 2007 20:28:53 +0000 (12:28 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 13 Nov 2007 21:25:51 +0000 (13:25 -0800)
commit245de36f035f9d549df2b1509787c25648fd611f
tree3ce82b4fc6c5ac8aca39a6f648f0f3d62018110a
parentaac5bf0b48c5f23cf482ca7958fa6815fe6502ed
revert/cherry-pick: allow starting from dirty work tree.

There is no reason to forbid a dirty work tree when reverting or
cherry-picking a change, as long as the index is clean.

The scripted version used to allow it:

    case "$no_commit" in
    t)
     # We do not intend to commit immediately.  We just want to
     # merge the differences in.
     head=$(git-write-tree) ||
     die "Your index file is unmerged."
     ;;
    *)
     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

but C rewrite tightened the check, probably by mistake.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-revert.c