-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Get all directory entries at the given SHA #65
Conversation
This commit adds Gollum-formatted entries that represent the directory tree of the repository at the given SHA. For example, using the Gollum `lotr.git` test wiki, we get the following array back: @repo.lstree_all_directories(sha) => [{:sha=>"6e48abfc56565574859e081ee58eae655d48cf71", :mode=>16384, :type=>"tree", :name=>"Gondor", :path=>"Gondor"}, {:sha=>"760982a3b84987919b99748d87c7890bb54afd07", :mode=>16384, :type=>"tree", :name=>"Mordor", :path=>"Mordor"}, {:sha=>"a13e77aca82edd8e6bd4096e351627859f74ffec", :mode=>16384, :type=>"tree", :name=>"Rivendell", :path=>"Rivendell"}] In subsequent commits to `gollum` and `gollum-lib`, using this method can help us make Gollum's "Overview" page more performant for large wikis. Currently, Gollum has no mechanism for getting the directory tree of the git repository, meaning we have to reverse-engineer the directory tree by using the paths of files checked into the repository.
The test suite for the adapters is in a separate repository so that all the adapters share the same tests. |
Right, and the test suite gives at least some sort of documentation of the API, which is a bit lacking at the moment. :) |
@@ -659,6 +659,12 @@ def lstree(sha, options = {}) | |||
results | |||
end | |||
|
|||
def lstree_all_directories(sha) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe lstree_all_trees
to stay consistent with git terminology?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That makes sense. I will change this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just found this PR again, see suggested change below :)
@@ -659,6 +659,12 @@ def lstree(sha, options = {}) | |||
results | |||
end | |||
|
|||
def lstree_all_directories(sha) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
def lstree_all_directories(sha) | |
def lstree_all_trees(sha) |
Hey, thanks for reminding me this exists. I think I should close this in the short term, as I want want to ensure that all of the adapters support this for a single release. That task is a bit cumbersome right now and I don't currently have the time to deal with it. |
Fair enough! I think we're pretty close to a working alternative. 👍 |
It looks like this gem has no test suite, so I've included the output from
@repo.lstree_all_directories(sha)
below as evidence that this works--until this can be tested at thegollum-lib
andgollum
layers.This commit adds Gollum-formatted entries that represent the directory tree of the repository at the given SHA. For example, using the Gollum
lotr.git
test wiki, we get the following array back:In subsequent commits to
gollum
andgollum-lib
, using this method can help us make Gollum's "Overview" page more performant for large wikis.Currently, Gollum has no mechanism for getting the directory tree of the git repository, meaning we have to reverse-engineer the directory tree by using the paths of files checked into the repository.