-
Notifications
You must be signed in to change notification settings - Fork 56
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
The commit walker doesn't exist anymore #54
Comments
@iamwilhelm Closing as this is a duplicate of #26 As for implementing it yourself, I'd certainly welcome contributions for this! :) However note the implementation might be a little tricky, and would require some glue in the native (C++) code. What I'm envisaging for the gitteh revwalk API is something like this: You create a new RevWalker has the following methods available:
At this point the RevWalker is active and the following methods may be called. Calling these when the RevWalker had not yet been
Internally the implementation is a little tricky, owing primarily to my (somewhat self-imposed) requirement to minimize calls into native code. I certainly do not want every call to Configuring the RevWalker ( The native code will allocate a new revwalker (acceptable for a first-pass implementation, but I will want to see allocated ^ ^ The above paragraph is a little hazy, I have to get to work and couldn't fully form my thoughts on this. The simple TLDR is I want no more than 1 call into native code for a rev-walk, at which point the rev walk kicks off asynchronously, sending oids to the main loop, and all remaining logic is encapulsated in the userland CoffeeScript code. |
It seems like work is already being done on it, since #26 seems closed. Is that the case? |
@iamwilhelm, @andreypopp has done some excellent looking work to provide a userland version of rev walking, but there are still plans to implement one using the native libgit2 provided functionality in gitteh itself. |
The repo commit walker doesn't exist anymore, and I had relied on it. Was this done because it was decided it doesn't belong in gitteh, or that simply we haven't gotten around to it after the refactor?
If it's the latter (that it simply hasn't been incorporated yet since the refactor), how tough is it to do? I was thinking I'd try my hand at it, if it didn't require knowing too much about native bindings (aka I could use the existing plumbing methods to write it).
Is there a particular signature the walker should support?
The text was updated successfully, but these errors were encountered: