Comments (25)
Definitely on my list aswell π
from gitui.
For the record I think tig does a decent job of graph rendering in a terminal and wouldn't be a bad thing to copy.
from gitui.
how about this repo here which also visualize Git history graphs. Maybe worth checking out @extrawurst. And this is also written in Rust, too
from gitui.
how about this repo here which also visualize Git history graphs. Maybe worth checking out @extrawurst. And this is also written in Rust, too
It's really not bad, but still get the frustration of not having a readable tree. GitKraken and SmartGit manage to make it just right.
git-graph does not have alternating colors for branches and that makes it hard to know the base of the branch and it's target for a merge
Here is what I would expect to have in gitui:
Some way to have my branches, different remotes (contributors or team members), tags. The colors alternating are very important.
from gitui.
A few ideas how this could be visualized: https://stackoverflow.com/questions/1057564/pretty-git-branch-graphs
from gitui.
For sure, open for PRs π
from gitui.
That would have been a good idea, thanks for the offer, but not right now anyhow.
I'm in the long process of re doing all my configs properly, and I still far from having a proper rust editor setup (I'd also need to learn writing rust, not just read, this project could help bootstrap the process for sure, but I'm not ready for now)
from gitui.
The issue certainly is not how to make it look good atm. Itβs just complex to get right on giant repos where not the entire list of commits is kept in memory let alone their ancestor relation info. The drawing then becomes the simple part
from gitui.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
from gitui.
nop little bot, don't close that please! π
from gitui.
@bew volunteering to take a go at it? :)
from gitui.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
from gitui.
up ?
from gitui.
Still a planned feature? With this it will be perfect!
from gitui.
suggestion: I hope we can merge, checkout and reset in the graph view
like the vscode extension name git graph
(https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph).
from gitui.
It would already be nice to just show the remote branches and local branches in the log viewer
from gitui.
@joseffilzmaier not sure what you mean. There is little chance to have multiple references be on the same branch (we only show a single branch currently)
from gitui.
If gitui
would ever draw more branches here's how libgit2 authors imagine it: https://github.com/libgit2/libgit2/blob/main/examples/log.c
Though they've not added the part that's related to --graph
but it can be deduced out of parents.
from gitui.
I put a bunch thought into this already. The biggest issue is keeping the revlog tab as efficient as it is right now.
I donβt want to start building a graph in memory to traverse. Itβs a matter of finding an efficient way to store everything needed to draw the graph structure and jump around everywhere.
another factor is being able to draw iteratively while not everything is parsed yet (like now)
the example in libgit2 unfortunately is too simple to cover any of these questions.
from gitui.
Yeah, definitely! Compromising speed is not an option.
Git internally uses commit-graph (from 2.24) to avoid reading whole blobs I can't tell if libgit2 has this feature already but that could be a starting point.
from gitui.
Git internally uses commit-graph (from 2.24) to avoid reading whole blobs I can't tell if libgit2 has this feature already but that could be a starting point.
@extrawurst Would this be solve the problem, if it existed in the rust binding for libgit2?
I can't tell if libgit2 has this feature already but that could be a starting point.
As of today:
from gitui.
I think gitup does visualizations the best by far:
from gitui.
Hi guys:
This issue seems to me the only killer feature missing in gitui at the moment. If you allow me to suggest something, I would prefer to draw the tree with simple unicode or ascii characters (like magit or tig already do) and then you can choose a fancy draw library if you like... but but once the basic is in... remember that some of us use old fashion terminals and very basic embedded systems (with ssh, serial or even worst... cmd from MS-Windows).
from gitui.
is this git log --graph not properly giving output to digest or the library is not properly supporting it?
from gitui.
gitui does not shell out fetching the revision log to be as performant as possible.
from gitui.
Related Issues (20)
- Custom git pager / diff view HOT 1
- RUSTSEC-2024-0013: Memory corruption, denial of service, and arbitrary code execution in libgit2 HOT 1
- Show a spinner/loader while hooks are running (?) HOT 2
- panic inside gitui silenty quits the application (certainly on windows)
- Impossible to configure color of title of current active block HOT 4
- theme.ron is not parsed correctly HOT 5
- commit text box does not support copy/cut /paste
- vim_style_key_config doesn't work on the latest version, V0.24.3 HOT 1
- create branch popup too small
- validate branch re-name HOT 2
- opening non-repo prints panic
- Stashing file not showing after running Blame (Shift+B) HOT 1
- allow remote fetching in branch popup (local tab)
- ratatui update HOT 7
- provide nightly releases
- Call for co-maintainers HOT 1
- `bumpalo v3.15.0` is yanked
- Control chars in pre-commit hook output HOT 3
- v0.25 does not install via cargo install HOT 6
- v0.25/v0.25.1 does not build with cargo-1.70.0 (feature/dependency problem with env_logger and/or clap_builder) HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gitui.