Thread (1 message) 1 message, 1 author, 2016-06-15

Re: git commit (or git-commit-script) question

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:04

Linus Torvalds [off-list ref] writes:
However, one thing to look out for is that if you've marked any files for 
update (with git-update-cache) those will always be committed regardless 
of what arguments you give to "git commit".
Another thing to look out for is that the files you told it
about with "git add" will be included and does not show up in
"git diff", because there currently is no way to record "intent
to add" (rather, "Mr GIT, please keep an eye on this file")
without actually adding a path to the index file for inclusion
in the next commit.

I have a couple of updates to git-commit-script in the proposed
updates branch, and one of the changes is that git-update-cache
in git-commit-script, used when either the --all flag or
explicit paths are given, has a --remove flag there.  The reason
it does not need --add flag there as well is a direct
consequence of this asymmetry.

Although I do not think this asymmetry a major source of
confusion, I suspect that we could "fix" it by treating an index
entry with all-zero mode and sha1 as "keep-an-eye-on" entry with
a new flag "git-update-cache --watch <path>" or something like
that.  "git-diff-files" would then treat that special entry as a
nonexistent path and would compare it with whatever happens to
be (or lack of it) in the working tree, and "git diff" would
show a diff that creates the file.  This needs a tweak or two in
the diffcore machinery as well.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help