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

Tip of the day: archaeology

From
Junio C Hamano <junkio@cox.net>
Date
Dec 13, 2005, 21:16 UTC
Message-ID
<7vpso07l63.fsf_-_@assigned-by-dhcp.cox.net>
In-Reply-To
<861x0hxfn2.fsf@blue.stonehenge.com>
merlyn@stonehenge.com (Randal L. Schwartz) writes:
> I see now that grepping "gitignore" shows git-add.sh and
> git-status.sh.  gitignore is indeed doc'ed in git-add.txt, but not in
> git-status.txt.  Must've snuck in recently.  I'm trying to watch
> "git-whatchanged -p Documentation/*", but I miss things sometimes.
Let me grab this opportunity to demonstrate archaeology tools.
    $ git whatchanged --pretty=oneline \
      -S'--exclude-per-directory=.gitignore' git-status.sh

shows the "Big tool rename" commit 215a7ad on Sep 7th had it as 621fa49 blob, and we can see that the revision:

    $ git cat-file blob 621fa49 | grep -B2 gitignore
            git-ls-files --others \
                --exclude-from="$GIT_DIR/info/exclude" \
                --exclude-per-directory=.gitignore |

already had .gitignore support [*1*]. Looking at the big rename commit, we learn git-status.sh used to be called as git-status-script:

    $ git-diff-tree -r -M --name-status 215a7ad | grep status.sh
    R093	git-status-script	git-status.sh
Digging further with the old name reveals that it is this commit:
    $ git whatchanged --pretty=oneline \
      -S'--exclude-per-directory=.gitignore' git-status-script
    diff-tree ba966b9... (from 9804b7d...)
    Teach git-status-script about git-ls-files --others
    :100755 100755 1999a66... 1696f23... M	git-status-script
    $ git cat-file blob 1696f23 | grep gitignore
	    --exclude-per-directory=.gitignore |
    $ git cat-file blob 1999a66 | grep gitignore
    $ git log --max-count=1 ba966b9 | head -n 5
    commit ba966b957908248396402acd785d10ba1da07294
    Author: Junio C Hamano <junkio@cox.net>
    Date:   Fri Aug 26 02:12:50 2005 -0700
        Teach git-status-script about git-ls-files --others
[Footnote]
*1* Sometimes I wish we had "cvs co -p" equivalent.
	$ git cat-blob rev path
Perhaps?
Previous: Randal L. SchwartzNext: Linus Torvalds
Message 19 of 28 in “Re: as promised, docs: git for the confused”
  1. linux@horizon.comDec 9, 2005
  2. Petr BaudisDec 9, 2005
  3. linux@horizon.comDec 9, 2005
  4. Randy.DunlapDec 9, 2005
  5. Junio C HamanoDec 9, 2005
  6. linux@horizon.comDec 9, 2005
  7. Junio C HamanoDec 9, 2005
  8. Linus TorvaldsDec 12, 2005
  9. Timo HirvonenDec 12, 2005
  10. Linus TorvaldsDec 12, 2005
  11. Randal L. SchwartzDec 12, 2005
  12. Joshua N PritikinDec 13, 2005
  13. Randal L. SchwartzDec 13, 2005
  14. Junio C HamanoDec 13, 2005
  15. Linus TorvaldsDec 13, 2005
  16. H. Peter AnvinDec 13, 2005
  17. Junio C HamanoDec 13, 2005
  18. Randal L. SchwartzDec 13, 2005
  19. Tip of the day: archaeologyJunio C Hamano, Dec 13, 2005
  20. Linus TorvaldsDec 13, 2005
  21. Junio C HamanoDec 13, 2005
  22. Junio C HamanoDec 12, 2005
  23. Everyday: some examples.Junio C Hamano, Dec 13, 2005
  24. Petr BaudisDec 9, 2005
  25. linux@horizon.comDec 9, 2005
  26. Junio C HamanoDec 10, 2005
  27. Junio C HamanoDec 10, 2005
  28. linux@horizon.comDec 10, 2005

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.