Patch Set 3: I would prefer that you didn't submit this

(11 inline comments)

found that "Replace with HEAD" doesn't properly handle the staged content:
- "Replace with HEAD" on a new file which has been added and afterwards changed again (file content in HEAD doesn't exist, staged content and working tree content are different) has no effect but c git's "git checkout -- <path>" will replace the working tree content with index content in that case
- "Replace with HEAD" on a tracked file which has staged changes and also more changes in the working tree replaces the working tree with the version from HEAD but doesn't replace the index with the version from HEAD (check this with "Compare with Index", Compare with HEAD"), c git's "git checkout -- <path>" also replaces the index with the HEAD version