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

Walking commits from the first

From
Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
Date
Feb 15, 2010, 04:39 UTC
Message-ID
<e72faaa81002142039h5531a19y354d24e595295bb1@mail.gmail.com>
In-Reply-To
<e72faaa81002142037g7f5f518erb9fefbb239124bc5@mail.gmail.com>
Hi,
 When you clone a big git repository and would like to read and
understand the source code, you need to checkout and read every commit
right from the first commit. As per my knowledge, there is no command
(even with flags) to checkout the first commit of the repository.
If there is some command, please put it in user's manual

Also if we somehow managed to do it by a series of commands, after we finish reading it then we need to redo it all over again to checkout the next commit.

So, what i would like to have is something like this:
1) git checkout --first
   Checksout the commit #1 of the git repository
2) git checkout --next
   Checksout the next commit
What I think:

I know that every git commit is a vertice in a DAG which has it's edge pointed to it's parent. So, walking from the latest commits to old commits is easy but the reverse is not. I would like to know if there is any problem if we make the walking bidirectional. What i mean is, when a new commit is created, create an edge not only from it to it's parent but also from it's parent to it. Also, have something for the first commit of the repo which can be referred as INIT (similiar to HEAD)

-pavan
Next: Jeff King
Message 1 of 5 in “Walking commits from the first”
  1. Pavan Kumar SunkaraFeb 15, 2010
  2. Jeff KingFeb 15, 2010
  3. Pavan Kumar SunkaraFeb 15, 2010
  4. Jon SeymourFeb 15, 2010
  5. Jon SeymourFeb 15, 2010

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.