Replies: 1 comment 1 reply
-
I'd find a tool like this very interesting and think that producing a When looking at what's possible, the bevy debugdump crate probably serves as wonderful example. My recommendation is to use |
Beta Was this translation helpful? Give feedback.
-
Summary 💡
Add the Ability to visualize the Commit History as a graph and output it as a graphviz file, similar to https://github.com/jlinoff/git2dot/. Additionally you could add functionality to visualize other Aspects of a git repo, like submodules.
I would personally volunteer to contribute this myself, although not right now as I do not have enough time to work on this at the moment. Before starting to work on anything i also wanted to get feedback of if this is even something that the project maintainers would consider accepting.
Also since this would be a fairly large undertaking, it probably shouldn't be my first contribution to this project. Although I have been learning and using rust for about 2 years at this point, I've never worked with a not toy sized project in Rust.
When it comes to how i would actually implement this. i have looked through your codebase a bit but not much and if I've understood everything correctly something like this should live in the
gitoxide-core
crate with driver code in porcelein. I don't think this would add any additional depencies to the project, as generating graphviz files isn't that hard to implement as I know from experience generating family tree graphs. However I have not looked at how traversing the commit history including commits, branches and merges is with your internal infrastructure at the moment, so that would be a thing to look at, before starting to work on anything.I hope this wasn't to much rambling and to maybe see this gitoxide at some point.
~ Strabby
Motivation 🔦
If i undestood the goal of the ein binary crate correctly, this idea would fit the criteria of being a fairly useful tool to add to this project, making it easier and more user friendly to look through the commit history of a project.
Beta Was this translation helpful? Give feedback.
All reactions