The first time Flog runs for a repo, it runs git commit-graph write
.
This ultimately makes it run faster.
Disable this feature:
let g:flog_write_commit_graph = 0
Set args (defaults shown):
let g:flog_write_commit_graph_args = ['--reachable', '--progress']
The commit graph will eventually become out of date.
You can update it by running:
git commit-graph write --reachable --progress
Flog will shows 5,000 commits by default.
Show 2,000 commits one time:
:Flog -max-count=2000
Show 2,000 commits by default:
let g:flog_permanent_default_opts = { 'max_count': 2000 }
Toggle the graph with gx
or launch with :Flog -no-graph
.
gv.vim
gv.vim is an ultra-light branch viewer. It is not very customizable by design.
Flog is more fully featured than gv.vim and has nicer looking branches and highlighting. Flog has comparable speed to gv.vim, but is more complex.
gitv
gitv is also a fully featured branch viewer.
However, gitv however is not maintained. Flog aims to be a successor to gitv and is improved in every practical way.
gitgraph.nvim
gitgraph.nvim is a fully featured Neovim branch viewer still under development.
Flog may be slower than gitgraph.nvim when scrolling in large repos on weaker machines. As a tradeoff, gitgraph.nvim has better scrolling performance, but has exponentially worse loading time and memory use.
Flog's branch representation is more straightforward. gitgraph.nvim has an opinionated branch drawing algorithm, but currently, any potential advantages are undocumented.
Flog is an extension for fugitive.vim. gitgraph.nvim has hooks for plugins like diffview.
Flog has features that have no equivalent in gitgraph.nvim, such as commit marks, some navigation mappings, and contextually aware command completion.
gitgraph.nvim is written in pure Lua. Flog supports both Vim and Neovim, so it uses both Vimscript and Lua.
Flog and gitgraph.nvim are both well written. Flog's code has aggressive optimizations and legacy support, so gitgraph.nvim currently has cleaner code.
Both plugins have test coverage but have different testing philosophies.
See :help flog
for all commands and options.
See examples for detailed walkthroughs.
Please start a discussion if you have any questions or post an issue if you run into any bugs.