jesseduffield.lazygit/pkg
Jesse Duffield a2a8755a7c Add commit store
I want an efficient way to get information about the commits of a repo.
So far, our Commit model contains a mix of immutable and mutable fields, and this means we need to throw out
commits whenever we refresh, because one of the mutable fields may have changed.

The commit store will store a new model, ImmutableCommit which never changes so we can just continue adding
commits to the store without worrying about invalidating any of it.

One use case for this store is the ability to determine if one commit is an ancestor of another, which will
help us colour the commits against each of our branches in the local branches view. Without an in-memory
store, we would need to make one git call per commit which would be super slow.

If this store proves useful, we could switch to using it as the source of truth for our commits, with
mutable stuff handled separately.
2023-10-02 16:25:15 +11:00
..
app Allow global logging when developing 2023-05-25 18:31:32 +10:00
cheatsheet Use sentence case everywhere 2023-05-25 23:52:19 +10:00
commands Add commit store 2023-10-02 16:25:15 +11:00
common introduce Common struct for passing around common stuff 2022-01-04 09:07:15 +11:00
config show commits against branches 2023-06-01 19:21:24 +10:00
constants update release notes 2021-04-20 18:34:47 +10:00
env clearer separation of concerns when bootstrapping application 2022-05-07 16:02:04 +10:00
fakes cleanup integration test code 2023-02-26 12:54:13 +11:00
gui Add commit store 2023-10-02 16:25:15 +11:00
i18n Show menu instead of prompt when there are conflicts in a rebase or merge 2023-06-01 10:51:48 +02:00
integration Add integration test for commit highlighting on focus 2023-06-01 22:20:30 +10:00
logs Allow global logging when developing 2023-05-25 18:31:32 +10:00
secureexec Cache binary paths 2023-05-23 19:15:33 +10:00
snake integrate snake game into lazygit 2022-12-30 12:18:59 +11:00
tasks prevent unnecessary re-renders of view 2023-04-02 15:44:05 +10:00
theme Set defaults colours to 'default', not 'white' 2023-06-01 18:59:04 +10:00
updates Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +10:00
utils show commits against branches 2023-06-01 19:21:24 +10:00