Yaroslav Halchenko <y...@onerussian.com> writes:

> command.  ATM there is no non-interactive (via --patch/--interactive I
> think it is possible) way to commit selected subset of staged files not
> from the worktree (as it is done with "git commit file(s)") but from the
> index.

Hmph, so

        edit A B C
        git add A B
        edit A B C
        git commit --cached B

would create a commit that is different from the original HEAD by
the edit to file B you did in the first step, but not the edit to A
or C, or edit to B after you did "git add"?

That sounds like a useful feature.  If you do not need that "exclude
the later edit since the last 'git add'", you can do "git commit B",
but if you added crufts to B in the working tree since you added a
good copy of B to the index, that would not do what you want to do.

Sounds like a good starter project for somebody who wants to try to
get their hands dirty.  I think it is just the matter of updating
builtin/commit.c::prepare_index() where COMMIT_PARTIAL is handled,
skipping "(2) update the index with the given paths" when "--cached"
option is given, but doing everything else in that codepath.


Reply via email to