NeogitOrg / NeogitOrg/neogit

Bug Report: Log display preferences do not persist

Open
#1,806 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Lua
Stars
5.6k
Forks
357
Avg merge
15h 47m
Merged PRs (30d)
2

Description

Describe the bug

Log display switches (graph, decorate, color) don't persist between sessions despite remember_settings = true, causing :NeogitLogCurrent to ignore user preferences.

To Reproduce

  1. Open :Neogit log popup
  2. Enable graph, decorate, color switches
  3. Run any log action to see a beautiful graph
  4. Later run :NeogitLogCurrent. plain log without preferences

Expected behavior

All log commands should respect last-used display preferences, consistent with other persisted switches like reverse.

Additional Context

Display switches are marked internal = true which prevents persistence:

:switch("g", "graph", "Show graph", { enabled = true, internal = true })  -- ❌ Not persisted
:switch("r", "reverse", "Reverse order")  -- ✅ Persisted  

I propose to remove internal = true
or to add persisted = true to override

:switch("g", "graph", "Show graph", {
  enabled = true,
  -- internal = true,  -- remove
})

Environment

  • OS: Linux/macOS/Windows
  • Neovim version: 0.10+
  • Neogit version: latest

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Locate the popup switch definitions for graph, decorate, color, and reverse, then inspect how remember_settings handles internal switches. Reproduce the difference between :Neogit log and :NeogitLogCurrent, and verify that all log commands retain the last-used display preferences.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, lua, neovim
Domain
cli, tooling
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.