Pavel Roskin [off-list ref] writes:
Or maybe git-write-tree and other utilities could be changed to work on
a copy of the index file? I would prefer not to move the
actual .git/index away, but to make a copy for the current "stg refresh"
operation.
There is no need to change the core side.
GIT_INDEX_FILE=temporary-index git-write-tree
would do the job. See the current round of git-commit and how
it handles "git commit --only these files" case.