Commit Briefs


5ceaed1f03 Stefan Sperling

avoid the needless check for set membership in got-read-pack as well

The list of ids traversed here won't contain IDs already present in the set.


e8c72451da Stefan Sperling

avoid a needless check for set membership in got_pack_repaint_parent_commits()

The list of ids traversed here won't contain IDs already present in the set.




6650dd540f Stefan Sperling

in repaint_parent_commits(), handle some errors properly


d6d823b59e Stefan Sperling

need to hop to the done: label upon error in a nested loop





cfd56069b2 Stefan Sperling

handle missing parent commits while coloring commits in got-read-pack

When a parent is not present in the pack file, handle this situation gracefully rather than erroring out. Fixes a regression introduced with recent got-read-pack coloring changes where commands such as 'got send' could fail with 'got-read-pack: object not found'.



ed1b7d154b Mark Jamsek

whitespace and unwrap a line; no functional changes


6ccfa59fe1 Stefan Sperling

rework got-read-pack's commit coloring loop

Port the parent commit coloring fix to got-read-pack, and ensure that it starts off with the same state as the main process. got-read-pack did not have access to the main process's ids array, and was thus working with a different initial state. With these changes the same commit traversal happens regardless of whether coloring is "offloaded" to got-read-pack or not (verified manually by placing debug printfs). ok jamsek


c3c995ae6f Stefan Sperling

fix pack exclusion via an ancestor commit

When a commit is first discovered as a commit which should be included in the pack, but is later found to be a parent of a commit which should be excluded from the pack, gotadmin pack correctly excluded the commit itself but failed to exclude this commit's parents. This bug is the reason why our test suite did not notice that gotd was not protecting references when clients did not send a pack file. In our test case, these parents are in the 'keep' set already and were never added to the 'skip' set. A useless pack was built which included those parents and nothing else. Add a test which triggers the bug via gotadmin pack. ok jamsek


ed016e8786 Mark Jamsek

style(9) only; no functional changes

Reflow lines exceeding 80 columns; replace Allman with K&R braces; and line continuation whitespace. ok stsp@


6ba505793e Stefan Sperling

fix gotd failing to protect references when the client sends an empty pack

Found by martijn@ ok jamsek



33a01ee2f7 Stefan Sperling

fix a typo in CHANGES


bb1da78691 Stefan Sperling

bump version number


dc3efbb701 Stefan Sperling

CHANGES for 0.108 (tags/0.108)


a4802a6cdc Stefan Sperling

sync dist file list




33083b2ece Mark Jamsek

tog: don't make users wait for the worktree diff to quit

Reported by naddy: if the user opens tog and quickly quits before the log thread has finished fetching work tree state for displaying dirty work tree entries, the main thread waits for the log thread to finish before acting on the user's quit input. This produces a noticeable lag between entering 'q' and tog actually terminating. Pass a pointer to the quit flag to the worktree diff cancel callback so we can act on it immediately without making the user wait. tested by naddy who confirmed it greatly reduces the lag