From 57791363ce38b805280fe40837dd61a1ec24a77e Mon Sep 17 00:00:00 2001 From: snicr Date: Tue, 17 Feb 2026 12:32:37 -0300 Subject: [PATCH 1/2] fix: now repositories ahead or behind are treated as dirty (according the documentation) --- internal/gitstatus/gitstatus.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/gitstatus/gitstatus.go b/internal/gitstatus/gitstatus.go index 5366efb..6091569 100644 --- a/internal/gitstatus/gitstatus.go +++ b/internal/gitstatus/gitstatus.go @@ -34,7 +34,7 @@ func Status(repoPath string) (model.RepoStatus, error) { applyFileLine(&status, line) } - status.IsDirty = status.Staged > 0 || status.Unstaged > 0 || status.Untracked > 0 + status.IsDirty = status.Staged > 0 || status.Unstaged > 0 || status.Untracked > 0 || status.Ahead > 0 || status.Behind > 0 if t, err := lastCommitTime(repoPath); err == nil { status.LastCommit = t From 2dbf0c55968d54d22c346e3954635c8308edfd5d Mon Sep 17 00:00:00 2001 From: snicr Date: Tue, 17 Feb 2026 12:46:54 -0300 Subject: [PATCH 2/2] added columns for ahead and behind quantity of commits --- internal/tui/model.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/tui/model.go b/internal/tui/model.go index a8774a1..0258f8e 100644 --- a/internal/tui/model.go +++ b/internal/tui/model.go @@ -88,6 +88,8 @@ func NewModel(cfg *config.Config) Model { {Title: "Staged", Width: 6}, {Title: "Modified", Width: 8}, {Title: "Untracked", Width: 9}, + {Title: "Ahead", Width: 7}, + {Title: "Behind", Width: 7}, {Title: "Last Commit", Width: 14}, } @@ -335,6 +337,8 @@ func reposToRows(repos []model.Repo) []table.Row { formatNumber(r.Status.Staged), formatNumber(r.Status.Unstaged), formatNumber(r.Status.Untracked), + formatNumber(r.Status.Ahead), + formatNumber(r.Status.Behind), lastCommit, }) }