libgit2 / libgit2/rugged

git rev-list --all -- filename

Open
#748 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
2.3k
Forks
293
PR merge metrics
No merged PRs in 30d

Description

How can I walk rev-list limited by the file name, similar to git rev-list --all -- README? If it's not possible, how to implement in most optimal way?

Also, how to walk --all, I only able to walk limited by HEAD:

linux$ git rev-list --all | wc -l
856145
linux$ git rev-list HEAD | wc -l
640952
pry(main)> Walker.walk(repo, show: 'HEAD').to_a.size
=> 640952

(repo is linux kernel).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Ruby entry point shown in the report, Walker.walk(repo, show: 'HEAD'), and compare its behavior with git rev-list --all and git rev-list --all -- README. Determine how path-limited traversal and all-reference traversal should be represented, then verify the result against the Linux kernel repository counts shown in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, ruby
Domain
devtools
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.