Thread (20 messages) flat view 20 messages, 2 authors, 2017-12-27

Re: [PATCH 5/5] submodule: submodule_move_head omits old argument in forced case

From: Jonathan Nieder <hidden>
Date: 2017-12-20 00:01:56

Stefan Beller wrote:
On Tue, Dec 19, 2017 at 2:44 PM, Jonathan Nieder [off-list ref] wrote:
quoted
  checkout -f
        I think I would expect this not to touch a submodule that
        hasn't changed, since that would be consistent with its
        behavior on files that haven't changed.
[...]
I may have a different understanding of git commands than you do,
but a plain "checkout -f" with no further arguments is the same as
a hard reset IMHO, and could be used interchangeably?
A kind person pointed out privately that you were talking about
"git checkout -f" with no further arguments, not "git checkout -f
<commit>".  In that context, the competing meanings I mentioned in
https://crbug.com/git/5 don't exist: either a given entry in the
worktree matches the index or it doesn't.

So plain "git checkout -f" is similar to plain "git reset --hard"
in that it means "make the worktree (and index, in the reset case)
look just like this".  checkout -f makes the worktree look like the
index; reset --hard makes the worktree and index look like HEAD.

In that context, more aggressively making the submodule in the
worktree get into the defined state sounds to me like a good change.

Hopefully my confusion helps illustrate what a commit message focusing
on the end user experience might want to mention.

Thanks again,
Jonathan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help