Jeff King wrote:

> Yes, that should work as long as the file is modified and not added. You
> can also say "4d77a3cee^:A/B/C" if you do not want to look up the parent
> id yourself.

Thanks, that's useful to know.

> Note that for a merge commit with multiple parents, the question is more
> complex, as there are two previous states that are merged.

This is not the case in the one I am currently looking at. There is a single
parent commit.

> You say that it doesn't work in one particular case. What is that case?
> What happens?

Here is an example. Grab this repository:

    git clone git://
    cd open-plc-utils/

Look at this commit:

    git log --name-status f51ac745a6d4087cc4d77a3cee01db0412955c79

and notice that one of the files modified is "pib/chkpib2.7", so lets
look at the parent version of that file:

    git show f51ac745a6d4087cc4d77a3cee01db0412955c79^:pib/chkpib2.7

which produces no output and exits with 0 status.

However looking at the diff for commit f51ac745a suggests that while
the file pib/chkpib2.7 may have existed before that commit, it must
have been empty (ie zero length).

Does this explanation make sense?

Erik de Castro Lopo
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to