You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 13, 2024. It is now read-only.
Repository navigation
This repository was archived by the owner on Jul 13, 2024. It is now read-only.
Thus, it became clear to me that I need to focus my energy and limit the number of project I run in parallel. In terms of personal open-source side-projects, I'll focus my efforts on Abracadabra, a VS Code extension that provides automated refactorings for JS / TS.
It has been a long time I'm running Gitgraph.js with my friend @fabien0102. We created this project so we could easily draw simple git graphs, directly in the browser, to use for blog posts and presentations. These days however, I don't use it much anymore.
However, you can see with the currently open issues that people have different, interesting suggestions to cover more use-cases. Also, there are bugs to fix. Finally, the overall documentation of the library could be improved.
I won't have the time & energy to tackle these. Not in my foreseeable future at least. Thus, I'm looking for new people to maintain the library and take over the project.
I'll be able to provide guidance and onboard you on the project if you want. You'll see that the dev environment is "not that bad", with features essentially covered with tests (unit & E2E).
Let me know if you're interested. In the meantime, be aware that I won't work on the open issues myself.
@nicoespeon indeed managing such project is time consuming and it is understandable you have to prioritise to keep everything going.
I reviewed gitgraph.js repo and I find it understandable and test coverage is good as well.
I have some fresh ideas, I think this library could be used for more than just git graphs, personally I use it to take notes (in my research work I often have to explore many ideas simultaneously and at some point I realised git graphs with branches are good way to keep track of what is going on).
As you said you don't use use it much anymore, while for me it is a tool I use daily at work so I would like to help you out and dedicate some of my time to keep it running, resolve issues, bugs, help with docs etc.
If you want me to join in, feel free to reach me either here, e-mail or gitter, whatever the mean of communication you prefer.
Hi! I've just spent the last couple of days so enamoured of gitgraph that I've been wandering around in the codebase and writing custom code with it for hours. if you'd like another helping hand I'm happy to assist :)
I think it would be awesome if you could assist indeed. I'll add you as a collaborator too, so you can help @marekyggdrasil who started replying to the currently open issues.
Regarding Gitgraph.js maintenance, here's what I shared with Marek, so anyone have a transparent view on the current status of the lib:
Here's my TL;DR of the good things of Gitgraph.js v2
Separation of the core from the rendering libs. It means we can provide the library in different technologies (React, vanilla JS, Angular, Vue, etc.). It's not tied to the DOM, so I even did a POC of node.js rendering that would work in the CLI (but it doesn't work anymore as we changed the core and I didn't update the lib).
core has been tested a lot. It was not 100% implemented in TDD, but most of it was! Also, most tests focus on the final output, so it's quite flexible for refactoring.
We have visual regression tests for free thanks to Storybook & Chromatic QA. This + unit tests of the core means we are really confident we don't break things when we do changes and the PR checks are all green 👌
The dev environment should be quite easy to set up. I tried as much as possible to keep things simple, so you can just run few commands and it works.
On the lowlights that could be improved:
The internal design of the core mimics a lot what was done in v1. I don't think the current model is the best. It might be a lot of work to change that. But thanks to tests, it's still quite doable IMO.
Some unit tests can be a bit complex to read, because of the "visual" nature of the lib. A lot of things are about {x,y} positions, so it's not always easy to visualize what it should be.
The separation of "core" and the rendering libs is not perfect. Some code is duplicated among the different rendering libs and should be pulled back in core IMO.
Because we want almost everything to be configurable, it adds a lot of complexity at different level of the lib (e.g. styles in templates that you can override at different levels, in the different methods).
Regarding what would be great to tackle next
First, we could go through the current list of open bugs & questions, to help people.
Then, we should do a better work at documenting the usage of the library. I quickly tried to make a nice website based on slides, but I'm not happy with the final result. People need a good documentation. v1 documentation was not complete (far from it), but it was better. I think this is one of the most important things to fix. Related issues are #274#275 and #278.
I'm adding you to the list of Gitgraph.js collaborators
You should be able to clone the repo, install dependencies, run the tests locally, etc. Let me know if you have troubles with it.
I suggest you pick any issue you'd like to work on. Just try to keep a small scope at first. Then, try to fix it. Ask me anything if you need help / support / thinking about the approach. The idea is for you to get familiar with the codebase so you can be autonomous. You can also open a draft PR with your changes. I'll do my best to give you answers asap so you can become productive on your own.
Most of all, don't worry to take decisions. It's open-source, so very open to changes and improvements.
I'm mostly here to help understand the decisions that were taken and the strategy that was behind. But it should serve your needs (and the one of the community).
Hopefully, the library will be even more helpful to everyone.
Thank you!
I just recently came across this library as I am looking to implement some visualizations that look similar to git branches. I am also primarily working with angular.
Therefore, I might be able to contribute some changes to this repository as well, specifically perhaps an angular wrapper/implementation. Can you please add me as a contributor?
@mikstur & @jd-porter sure. Sorry for my late reply, I've been off for the past week. Adding you both quickly right now 👍
So technically you'll be 4. Thank you for that!
Also, if you finally can't help maintaining the library just let me know, that's fine! I'll check in a few months as I wouldn't like to have a list of 10 contributors with no-one actually contributing 😉
The slides and storybook are so, so awesome, and i would be proud to maintain this (and think all the stories you have would make it really relatively easy). That said - I'm a dad of 2 so I'll look for mentions but can't promise anything right now!
@nicoespeon If you are still looking for maintainers, count me in as well.
Yesterday, I found an issue that I thought I could work on. I made changes today and already opened a PR.
If there is any other bug/enhancement that I can get started with, please do let me know. Thanks
Congratulations @nicoespeon! I'm a dad of 9, so yeah, I get it. The first one is the hardest. Until the second one comes along. :-)
I have a lot of irons in the fire so can't commit to anything just yet, but I like what I'm seeing here and will use it extensively, I'm sure. We'll see if I can make this more than just an occasional fling.
It has been quite some time since I touched this repo. I give it a look from time to time but I don't have much time to do more than answer a few questions and review PRs (thanks there are automated tests!).
We have a decent suite of tests that would help you make sure you didn't break existing scenario.
I admittedly did not know about the visual regression testing that was setup for CI. It's certainly robust and super impressive! I didn't even know about using storybooks for visual testing, but I think it looks great!
I can also add you as a contributor if you're willing to do more changes.
I'd be ecstatic to be added as a contributor! I'll be creating a React Native package on top of my refactor and cleanup work with React.
For some context of my usage, I'm the owner of @oceanbit-dev and we're building a open-source React Native Git client (GitShark) and we intend on using gitgraph.js for some of our UI. As such, we'll be investing a lot to try and make sure this library is production-ready
I look forward to more code reviews and collaboration in the future! :D Thanks for being so welcoming!
Hey, that's really cool! GitShark looks like a cool product as I don't know anything with a decent UI to really use on smartphones 👍
For the record, the best Git GUI I know (and use) is https://gitup.co/. I mostly like the keyboard shortcuts + ability to commit per line + ⌘ Z to revert when you mess up something. It's not perfect though, but it's light and efficient.
I made you a collaborator, that should ease your future contributions. Basically, I'm here to help you if you have any question, but I won't be maintaining the lib anymore so feel free to take decisions about the direction you want to give it.
Originally, this library was a side-project meant to draw git graphs easily in the browser. Short graphs, for presentations or blog posts. Which means it works, but there's a lot of scenarios we surely don't handle when it comes to real-life graphs, from git log. We started to experiment with that, but we didn't get too far 🤷♂️
@crutchcorn I see you started merging PR, that's great 👍
You may need help to publish new versions. If you want to do so, let me know. I can do them at first, then see how to give you the access rights (hopefully we created a dedicated scope on NPM so I should be able to let other people publish).
@nicoespeon that would be fantastic! I'm far from new to publishing to NPM and would love to be able to publish when new releases are needed if that's something you'd feel comfortable offsetting! :D
@crutchcorn yep, we created an organization. I invited you to it. You should be able to see the invite and that should allow you to publish new versions 👍
Hii @nicoespeon, I have been using this library from couple of days now. Firstly It an awesome library.
I have seen requirements which your extension lag and they can be very useful in various scenarios.
It would be great if you could add me as a maintainer. I would love to contribute to this library.
I'm glad to hear that and this project would indeed benefit from having some active maintainers.
Considering I've added a lot of maintainers already without much success, I would prefer for candidates to first contribute with some PRs (that I can review) before adding more. Thus, please contribute to the project. If you keep an interest in the project, I will be very happy to make you a maintainer 😃
As a 2022 update on this thread: I'm still NOT maintaining this project anymore. My focus is still on Abracadabra and other projects (work, personal & family) so I really don't have time to dedicate to this lib anymore. It's still open to use/fork/fix… or contribute and step-up to become a maintainer 😃
Hello @nicoespeon . I discovered this repository while preparing a presentation and I dug into the issues, PRs and code when I discovered that multiple branch labels on the same commit were not possible (and I needed that).
I am interested in giving back to the community and volunteer as a maintainer if you are still looking for one.
As part of that responsibility, I am happy to do the following:
In the same spirit as the previous question, I am happy to improve the documentation for every question that I close. If one person had a question, it is possible that 9 other people had the same question, but they just did not ask
I am happy to update the dependency list periodically and make sure the project always compiles with the latest LTE nodeJS without deprecation warnings
I am happy to implement some of the missing features that I personally need (git reset comes to mind, multiple branch labels per commit as well), if approved (also see below)
Fix the build system. At the moment the project does not compile on Apple Silicon (and maybe on Intel as well). I got it to work at Got GitGraphJS to compile aicioara-forks/gitgraph.js#1, so I can clean that up and improve the system and the documentation.
As part of this position, I will not do the following:
I will not overhaul or refactor the library, besides basic linter changes. I personally think that the library uses too many layers of abstraction (public API, core API, JS API) that gets some users confused (example Is there a way to set a default author for a branch? #414 (comment)). It is not my wish to change the original architecture/design/philosophy of this project
In the same spirit as the above, I will not publish new features if there is no sign off from the original authors. New features increase the API surface and add potential bugs. I am perfectly fine with my fork for my needs, unless, of course, you appreciate those additions
I will not prioritize this work over my full-time-job, so this will be a week-ends-and-evenings kind of thing.
I just wanted to set the expectations properly. If that sounds good to you, please let me know what would be the next steps.
I also noticed that prior contributions are expected from candidate maintainers. I have a polished PR that is open for your review at #421. I also managed to get multiple branch labels per commit to work at aicioara-forks#2, and I plan to clean that up and open it up for review in easy-to-review pieces.
Finally delivered my talk yesterday, so I took the time to check out your messages here @aicioara
You got this! I'm impressed with your communication skills and you already started proving contributions. I made you a contributor.
I'm not in a position to lead new features and API changes, or restructurations of the code. I'm not using the lib anymore, so I can't spend my limited free time on maintaining this anymore. However, I'll dedicate time to support you if you are willing to give a hand.
And yes, no need to prioritize this over other commitments you have. Just answering questions and improving docs for actual users of the lib is much better than nothing! But in the end, it's benevolent work. Thus, anything you are willing to give is great, but don't feel pressured in any way 😉
This is an amazing work indeed and I'll be using Gitgraph for Harmony. While I'll be implementing it I could give a hand or two with mantaining this, if still needed
Activity
marekyggdrasil commentedon Oct 13, 2019
@nicoespeon indeed managing such project is time consuming and it is understandable you have to prioritise to keep everything going.
I reviewed gitgraph.js repo and I find it understandable and test coverage is good as well.
I have some fresh ideas, I think this library could be used for more than just git graphs, personally I use it to take notes (in my research work I often have to explore many ideas simultaneously and at some point I realised git graphs with branches are good way to keep track of what is going on).
As you said you don't use use it much anymore, while for me it is a tool I use daily at work so I would like to help you out and dedicate some of my time to keep it running, resolve issues, bugs, help with docs etc.
If you want me to join in, feel free to reach me either here, e-mail or gitter, whatever the mean of communication you prefer.
nicoespeon commentedon Oct 13, 2019
@marekyggdrasil awesome. I'm on mobile right now but I'll reach you out next week to set you up with everything you need. Thank you, a lot ❤️
nicoespeon commentedon Oct 18, 2019
@marekyggdrasil I don't know if you saw that, but I replied to you with all details on Gitter 😉
marekyggdrasil commentedon Oct 19, 2019
Sorry for delay, replied! I'm onboard!
lorarjohns commentedon Oct 26, 2019
Hi! I've just spent the last couple of days so enamoured of gitgraph that I've been wandering around in the codebase and writing custom code with it for hours. if you'd like another helping hand I'm happy to assist :)
nicoespeon commentedon Oct 27, 2019
Hi @lorarjohns 👋
I think it would be awesome if you could assist indeed. I'll add you as a collaborator too, so you can help @marekyggdrasil who started replying to the currently open issues.
Regarding Gitgraph.js maintenance, here's what I shared with Marek, so anyone have a transparent view on the current status of the lib:
Here's my TL;DR of the good things of Gitgraph.js v2
corefrom the rendering libs. It means we can provide the library in different technologies (React, vanilla JS, Angular, Vue, etc.). It's not tied to the DOM, so I even did a POC of node.js rendering that would work in the CLI (but it doesn't work anymore as we changed the core and I didn't update the lib).corehas been tested a lot. It was not 100% implemented in TDD, but most of it was! Also, most tests focus on the final output, so it's quite flexible for refactoring.On the lowlights that could be improved:
coremimics a lot what was done in v1. I don't think the current model is the best. It might be a lot of work to change that. But thanks to tests, it's still quite doable IMO.coreIMO.Regarding what would be great to tackle next
First, we could go through the current list of open bugs & questions, to help people.
Then, we should do a better work at documenting the usage of the library. I quickly tried to make a nice website based on slides, but I'm not happy with the final result. People need a good documentation. v1 documentation was not complete (far from it), but it was better. I think this is one of the most important things to fix. Related issues are #274 #275 and #278.
Concretely for the next steps @lorarjohns 😉
Most of all, don't worry to take decisions. It's open-source, so very open to changes and improvements.
I'm mostly here to help understand the decisions that were taken and the strategy that was behind. But it should serve your needs (and the one of the community).
Hopefully, the library will be even more helpful to everyone.
Thank you!
mikstur commentedon Dec 13, 2019
@nicoespeon congrats on becoming a dad!
I just recently came across this library as I am looking to implement some visualizations that look similar to git branches. I am also primarily working with angular.
Therefore, I might be able to contribute some changes to this repository as well, specifically perhaps an angular wrapper/implementation. Can you please add me as a contributor?
jd-porter commentedon Dec 24, 2019
@nicoespeon are you still looking for contributors? I've been using gitgraph off and on for a year & just saw this pinned issue. I'd love to help out.
nicoespeon commentedon Dec 25, 2019
@mikstur & @jd-porter sure. Sorry for my late reply, I've been off for the past week. Adding you both quickly right now 👍
So technically you'll be 4. Thank you for that!
Also, if you finally can't help maintaining the library just let me know, that's fine! I'll check in a few months as I wouldn't like to have a list of 10 contributors with no-one actually contributing 😉
deanrad commentedon Mar 11, 2020
The slides and storybook are so, so awesome, and i would be proud to maintain this (and think all the stories you have would make it really relatively easy). That said - I'm a dad of 2 so I'll look for mentions but can't promise anything right now!
S1ngS1ng commentedon Mar 16, 2020
@nicoespeon If you are still looking for maintainers, count me in as well.
Yesterday, I found an issue that I thought I could work on. I made changes today and already opened a PR.
If there is any other bug/enhancement that I can get started with, please do let me know. Thanks
erickhagstrom commentedon Mar 16, 2020
Congratulations @nicoespeon! I'm a dad of 9, so yeah, I get it. The first one is the hardest. Until the second one comes along. :-)
I have a lot of irons in the fire so can't commit to anything just yet, but I like what I'm seeing here and will use it extensively, I'm sure. We'll see if I can make this more than just an occasional fling.
nicoespeon commentedon Mar 18, 2020
Thank you @S1ngS1ng and @erickhagstrom 👍
It has been quite some time since I touched this repo. I give it a look from time to time but I don't have much time to do more than answer a few questions and review PRs (thanks there are automated tests!).
Help will be welcomed 😉
NotMoni commentedon May 6, 2020
@nicoespeon I am available to help and maintain 🦄
11 remaining items
crutchcorn commentedon Nov 24, 2020
I admittedly did not know about the visual regression testing that was setup for CI. It's certainly robust and super impressive! I didn't even know about using storybooks for visual testing, but I think it looks great!
I'd be ecstatic to be added as a contributor! I'll be creating a React Native package on top of my refactor and cleanup work with React.
For some context of my usage, I'm the owner of @oceanbit-dev and we're building a open-source React Native Git client (GitShark) and we intend on using
gitgraph.jsfor some of our UI. As such, we'll be investing a lot to try and make sure this library is production-readyI look forward to more code reviews and collaboration in the future! :D Thanks for being so welcoming!
nicoespeon commentedon Nov 26, 2020
Hey, that's really cool! GitShark looks like a cool product as I don't know anything with a decent UI to really use on smartphones 👍
For the record, the best Git GUI I know (and use) is https://gitup.co/. I mostly like the keyboard shortcuts + ability to commit per line + ⌘ Z to revert when you mess up something. It's not perfect though, but it's light and efficient.
I made you a collaborator, that should ease your future contributions. Basically, I'm here to help you if you have any question, but I won't be maintaining the lib anymore so feel free to take decisions about the direction you want to give it.
Originally, this library was a side-project meant to draw git graphs easily in the browser. Short graphs, for presentations or blog posts. Which means it works, but there's a lot of scenarios we surely don't handle when it comes to real-life graphs, from git log. We started to experiment with that, but we didn't get too far 🤷♂️
nicoespeon commentedon Nov 28, 2020
@crutchcorn I see you started merging PR, that's great 👍
You may need help to publish new versions. If you want to do so, let me know. I can do them at first, then see how to give you the access rights (hopefully we created a dedicated scope on NPM so I should be able to let other people publish).
crutchcorn commentedon Nov 30, 2020
@nicoespeon that would be fantastic! I'm far from new to publishing to NPM and would love to be able to publish when new releases are needed if that's something you'd feel comfortable offsetting! :D
nicoespeon commentedon Dec 1, 2020
@crutchcorn yep, we created an organization. I invited you to it. You should be able to see the invite and that should allow you to publish new versions 👍
andreasonny83 commentedon Dec 2, 2020
Hi @nicoespeon . can I be part of that as well by any chance?
nicoespeon commentedon Dec 5, 2020
Fair @andreasonny83, you helped contributing to the code recently so I agree you should be part of it too 👍
I've send you an invite. Please get in touch together to get in sync on how you want/plan to publish new releases.
gsGupta11 commentedon Feb 15, 2022
Hii @nicoespeon, I have been using this library from couple of days now. Firstly It an awesome library.
I have seen requirements which your extension lag and they can be very useful in various scenarios.
It would be great if you could add me as a maintainer. I would love to contribute to this library.
nicoespeon commentedon Feb 19, 2022
Hey @gsGupta11 👋
I'm glad to hear that and this project would indeed benefit from having some active maintainers.
Considering I've added a lot of maintainers already without much success, I would prefer for candidates to first contribute with some PRs (that I can review) before adding more. Thus, please contribute to the project. If you keep an interest in the project, I will be very happy to make you a maintainer 😃
As a 2022 update on this thread: I'm still NOT maintaining this project anymore. My focus is still on Abracadabra and other projects (work, personal & family) so I really don't have time to dedicate to this lib anymore. It's still open to use/fork/fix… or contribute and step-up to become a maintainer 😃
aicioara commentedon Sep 25, 2022
Hello @nicoespeon . I discovered this repository while preparing a presentation and I dug into the issues, PRs and code when I discovered that multiple branch labels on the same commit were not possible (and I needed that).
I am interested in giving back to the community and volunteer as a maintainer if you are still looking for one.
As part of that responsibility, I am happy to do the following:
git resetcomes to mind, multiple branch labels per commit as well), if approved (also see below)As part of this position, I will not do the following:
I just wanted to set the expectations properly. If that sounds good to you, please let me know what would be the next steps.
I also noticed that prior contributions are expected from candidate maintainers. I have a polished PR that is open for your review at #421. I also managed to get multiple branch labels per commit to work at aicioara-forks#2, and I plan to clean that up and open it up for review in easy-to-review pieces.
nicoespeon commentedon Sep 29, 2022
Finally delivered my talk yesterday, so I took the time to check out your messages here @aicioara
You got this! I'm impressed with your communication skills and you already started proving contributions. I made you a contributor.
I'm not in a position to lead new features and API changes, or restructurations of the code. I'm not using the lib anymore, so I can't spend my limited free time on maintaining this anymore. However, I'll dedicate time to support you if you are willing to give a hand.
And yes, no need to prioritize this over other commitments you have. Just answering questions and improving docs for actual users of the lib is much better than nothing! But in the end, it's benevolent work. Thus, anything you are willing to give is great, but don't feel pressured in any way 😉
nicoespeon commentedon Sep 29, 2022
Let me know if you need my help to understand or review something. I also know that @crutchcorn is around.
I don't guarantee answering promptly, but I will do my best to give some time if that's to help you maintain the lib 👍
thomscoder commentedon Oct 2, 2022
This is an amazing work indeed and I'll be using Gitgraph for Harmony. While I'll be implementing it I could give a hand or two with mantaining this, if still needed