git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Retrieving a file at a before a specified commit

From
Jeff King <peff@peff.net>
Date
May 30, 2013, 02:34 UTC
Message-ID
<20130530023446.GA19860@sigill.intra.peff.net>
In-Reply-To
<20130530104932.d7ba4bfb426044ab9653057e@mega-nerd.com>
On Thu, May 30, 2013 at 10:49:32AM +1000, Erik de Castro Lopo wrote:
Show 16 quoted lines
> 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?

Yes, that is what I would expect git to do in such a situation. You can inspect it further, too:

  $ git rev-parse f51ac745^:pib/chkpib2.7
  e69de29bb2d1d6434b8b29ae775ad8c2e48c5391

That's the sha1 of the blob containing the content. You can investigate information about that object like this:

  $ git cat-file -t e69de29b
  blob
  $ git cat-file -s e69de29b
  0
  $ git cat-file blob e69de29b
Of course since its size is 0, the last one is not that interesting. :)
You could also just look at the tree, which gives similar information:
  $ git ls-tree -lr f51ac745^ | grep pib/chkpib2.7
  100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 pib/chkpib2.7
Hope that helps.
-Peff
Previous: Erik de Castro LopoNext: Erik de Castro Lopo
Message 7 of 8 in “Retrieving a file at a before a specified commit”
  1. Erik de Castro LopoMay 29, 2013
  2. Jeff KingMay 29, 2013
  3. Erik de Castro LopoMay 30, 2013
  4. Erik de Castro LopoMay 30, 2013
  5. Junio C HamanoMay 30, 2013
  6. Erik de Castro LopoMay 30, 2013
  7. Jeff KingMay 30, 2013
  8. Erik de Castro LopoMay 30, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.