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

Problem with --skip and --max-count

From
GSGovind Salinas <govind@sophiasuchtig.com>
Date
Aug 22, 2008, 15:06 UTC
Message-ID
<5d46db230808220806j21a81864he77a3b05e298ce2b@mail.gmail.com>
Hey Folks,

I have been working on my porcelain, trying to get it semi-polished and I noticed that the behavior of --skip and --max-count is not what I expected in several cases.

For simple output, it works as I think it should, but whenever you are doing some kind of filtering or non-standard commit limiting, such as passing --follow, it does not print out the first X results. Similarly --skipping the number of items that you got back does not put get you to where you left off.

Basically, I am trying to use --skip and --max-count to do paging, but when I add filters, it doesn't work very well. For example...

$ git log --pretty=oneline --follow -- pyrite/git/repository.py | wc -l 103

$ git log --pretty=oneline --follow -20 -- pyrite/git/repository.py | wc -l 2

$ git log --pretty=oneline --follow -20 --skip=20 -- pyrite/git/repository.py | wc -l 2

So where I am trying to page by 20, I am only getting a random number of commits depending on how many fit the criteria in the window. I understand this is probably by design, but it is not optimal to work with. I had to manually do the skipping and limiting, which would probably have been more efficient if it had been done by git. Would it be possible to get git to limit and skip based on the number of results it had returned rather than the number of result it had processed? Even new cmd line args would work.

I am using 1.6.0 BTW.

Thanks, Govind

Message 1 of 1 in “Problem with --skip and --max-count”
  1. Govind SalinasAug 22, 2008

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.