History Graph Tree#152
Conversation
0ed6055 to
02caa7f
Compare
|
Thanks for the insights. I will try to move it to new files, see how feasible it is |
|
Thanks for the PR @kingdo10, and thanks @pol-rivero for the detailed review. Before discussing this specific change, I want to raise a more strategic question about the direction of GitHub Desktop Plus. I had a similar feeling with the worktrees addition, and I think it is worth being explicit about it now instead of revisiting it on every new PR. What I really love about this fork is that it adds a small set of nice-to-have things that, for whatever reason, the upstream has not added. The strength of GitHub Desktop has always been simplicity: it covers the day-to-day Git workflow cleanly, and the things it does, it does well. If we keep adding bigger features (a full graph view, worktrees, and so on), at some point we are no longer "GitHub Desktop with a few fixes." We start to look like GitKraken or Sourcetree, and I do not think we should be competing in that space. I see two possible directions, and I think we should pick one explicitly:
I lean strongly toward option 1. I have used GitHub Desktop solely and professionally for years, and the base feature set already covers what I actually need from a Git client. I genuinely believe we already have 99.9% of what almost all users need. Every drift from upstream makes future merges harder, and that cost compounds over time. To be clear, this is not a veto on this PR, and I appreciate the work @kingdo10 has put into it. I would actually integrate this feature since I really like it and think it is of high value for most users, especially for those getting initiated into Git. But I would treat it as probably the last big feature we take on. My concern is the precedent and the cumulative maintenance cost more than this specific feature. If we do merge bigger features like this one (and the worktrees work), I would ask for hard guardrails:
On the flip side, there are features I would actively push back on regardless of those guardrails. A clear example is drag-and-drop on the commit tree (dragging a commit onto another branch to cherry-pick or move it, dragging branches around, etc.). It is genuinely a nice-to-have, and I have used it in other clients, but in practice it adds a lot of UI complexity and is a constant source of subtle bugs. I would rather leave that kind of advanced workflow to dedicated Git clients. Going forward, I would rather we focus on smaller quality-of-life items that have been widely requested upstream and never fixed. For example, multi-window support (desktop#3606) is not a "big feature," but it has been asked for for years and would make the app meaningfully nicer to use. I would rather have this scope conversation now than slowly accumulate features and end up with something none of us signed up to maintain. Curious to hear what you both think. |
|
@guplem I agree completely |
15cfb84 to
d4fc5dc
Compare
d4fc5dc to
aeb7af1
Compare
|
Now this looks a lot better! (both visually and in the code implementation). Thank you for your hard work! For now here's what I found:
|


Do you like the below feature?
I'm always using a similar feature in other clients. I think it integrates well.
Below is a comparison of how the same repo displays in this PR and an alternative git client.