From: Erik de Castro Lopo Date: Thu, 30 May 2013 00:49:32 GMT Subject: Re: Retrieving a file at a before a specified commit Message-ID: <20130530104932.d7ba4bfb426044ab9653057e@mega-nerd.com> In-Reply-To: <20130529075811.GA7204@sigill.intra.peff.net> 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://github.com/qca/open-plc-utils.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 -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/