Re: [RFC] git checkout $tree -- $path always rewrites files
From: Jeff King <hidden>
Date: 2016-06-15 23:02:53
On Sat, Nov 08, 2014 at 08:19:21AM -0800, Martin von Zweigbergk wrote:
quoted
What should: git checkout HEAD -- some-new-path do in that case? With the current code, it actually barfs, complaining that nothing matched some-new-path (because it is not part of HEAD, and therefore we don't consider it at all), and aborts the whole operation. I think we would want to delete some-new-path in that case, too.I don't think we'd want it to be deleted. I would view 'git reset --hard' as the role model here, and that command (without paths) would not remove the file. And applying it to a path should not change the behavior, just restrict it to the paths, right?
Are you sure about "git reset" here? If I do: git init echo content >file && git add file && git commit -m base echo modified >file echo new >some-new-path git add file some-new-path git reset --hard then we delete some-new-path (it is not untracked, because the index knows about it). That makes sense to me. I.e., we treat it with the same "preciousness" whether it is named explicitly or not. -Peff