Re: Simplify "git reset --hard"
- From
Junio C Hamano <junkio@cox.net>
- Date
- May 15, 2006, 07:08 UTC
- Message-ID
- <7vwtcnvk76.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <7v1wuvwzdv.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano <junkio@cox.net> writes:
Show 6 quoted lines
>> Instead, just pass in "-u" to git-read-tree when we do a hard reset, and >> depend on git-read-tree to update the working tree appropriately. > > Well, this is wrong. Local modifications remain after your > version of "git-reset --hard HEAD". which is not what we want > from a hard reset.
... and attempting to paper it over in git-reset.sh is also wrong. Keep your "--hard is noop" change in git-reset.sh and replace it with this would be the right fix.
-- >8 --
diff --git a/read-tree.c b/read-tree.c index 11157f4..c135f08 100644 --- a/read-tree.c +++ b/read-tree.c @@ -686,6 +686,7 @@ static int oneway_merge(struct cache_ent if (!a) return deleted_entry(old, NULL); if (old && same(old, a)) { + old->ce_flags |= htons(CE_UPDATE); return keep_entry(old); } return merged_entry(a, NULL);