Resetting files during a merge causes loss of resetted change, invisible in commit logs.
- Date: Fri, 17 May 2019 12:28:11 +0200
- From: Thijs ter Horst <gmterhorst@xxxxxxxxx>
- Subject: Resetting files during a merge causes loss of resetted change, invisible in commit logs.
Disclaimer: I have never done a bug report / worked with mailing lists
before, so if I'm doing things wrong I'd gladly hear.
As the title describes, git can change files without logging the
change. I'm not sure how to describe it shortly, so I've made a
minimal reproduction at 'https://github.com/gmth/git_test', along with
a shell script (git_debug.sh) that reproduces what I think is a
problem. In that repo "text1.txt" changes back when according to
commit logs it shouldnt have.
I ran into this when I lost some changes in my codebase that I could
not find in the commit logs, and a merge commit ('feature' into
'master') showed that that commit reverted a file to an earlier state,
while that change was not visible in any commits in 'feature'. The
cause in my case was probably that I accidentally clicked the
"Discard" button on a file in SmartGit, but the shell script shows how
to reproduce it with commandline git. Therefore I do not think this
has to do with SmartGit.
I am unsure if I'm allowed to attach the reproducing shell script to
this email, so that's why I haven't (spam filters etc).
Thijs ter Horst