Subject: git replace woes: dirty stat with clean workdir

From: Michael J Gruber <[email-masked]>
Date: Tue, 10 Nov 2009 17:21:12 +0100

Hi there,

when cooking up a "warning example" for git replace (don't draw
premature conclusions when there are replaced objects) I came across the
following problem: git status seems to compare the work dir with the
tree of HEAD, not the replacing tree. Even deleting the index does not help.

[ The example also shows that we need a way to specify
--no-replace-objects for gitk. Would easier if gitk really where git
something. ]

Michael

#!/bin/sh
rm -Rf rtest &&
mkdir rtest &&
cd rtest &&
git init &&
echo > comment &&
git add comment &&
git commit -m "empty comment" &&
echo nice > "comment" &&
git commit -am "nice comment" &&
echo ugly > "comment" &&
git commit -am "to be discarded" &&
git replace HEAD^^{tree} HEAD^{tree} &&
git reset --hard HEAD^ &&
git log -p &&
git st