Commit Briefs

eeb616b754 Stefan Sperling

remove dependency of gitwrapper on gotd/listen.c

Move gotd_find_uid_connection_limit() from listen.c into parse.y and remove listen.c from the list of source files required by gitwrapper.


1eb3899277 Stefan Sperling

significantly reduce the amount of code linked into gitwrapper

By moving got_serve_parse_command() from lib/serve.c into lib/dial.c as got_dial_parse_command(), we can significantly reduce the amount of symbols gitwrapper depends on indirectly. As a downside, gotsh now needs to link to dial.c. But it only uses the same parsing routine, and any other routines in dial.c would likely cause pledge violations in gotsh if used. No functional change.


132d524727 Stefan Sperling

document the S key in tog's online help screen


b568caa8aa Mark Jamsek

zap stale tog regress make target spotted by stsp@


2ca2f982e8 Mark Jamsek

tog: plug tog_view structure leak on open_*_view() error

ok stsp@


2e3b39bcc6 Stefan Sperling

remove outdated information from README


7483826edb Mark Jamsek

release tog_io regress mock term resources in main()

ok stsp@


ef3dc9f326 Stefan Sperling

update regress test info in README


098596c5bf Stefan Sperling

make tog regress run with pledge active

ok jamsek


af179be739 Stefan Sperling

when aborting rebase/histedit/merge, unlink files added by merged changes

Otherwise we leave unversioned files behind in the work tree which may interfere with new attempts to rebase or merge the changes again. Problem found by + ok naddy@


8cdd231889 Omar Polo

got: flush stdout before printing the error in main()

Since standard error is unbuffered, it could happen that the error string is printed immediately while the output from the subcommand is stuck in a buffer and written later. So flush() standard output before printing the error message. Problem reported by naddy@, ok stsp@


46108e2318 Stefan Sperling

style nits from op@, thanks!


31cf15ecf8 Stefan Sperling

make 'got revert' and 'got rm' work on non-existent directories

problem found by robert@ ok jamsek, op


1b093d84c1 Stefan Sperling

fix rebase/histedit -a leaving some files on the temporary branch

The commands 'got rebase -a' and 'got histedit -a' were checking out files from the wrong commit. Make them check files out from the commit we are switching the work tree to, as intended. Avoids spurious merge conflicts when the work tree is later used for another rebase operation. It also makes 'got update' right after 'rebase -a' a no-op, as it should be. Problem found by naddy@ while rebasing jca's llvm15 branch ok op, jamsek earlier version


fd785a9ac7 Stefan Sperling

update the base commit ID of unmodified files if the blob ID matches

This avoids having to run 'got update' after operations which run checkout_files() and where a file happens to have the same blob ID but its base commit differs from the commit we are updating to. Found while investigating a bug report by naddy@ ok op, jamsek (earlier version)


af21bb7e28 Mark Jamsek

tog: implement automated test harness

Add framework for scripting tog tests by capturing screen dumps to compare with expected output. Includes some preliminary log view tests but lots more tests are needed to cover diff, blame, tree, ref, and help views. ok stsp@


859316d03c Stefan Sperling

make gotd/gitwrapper start up even if a repository is missing on disk

This should result in more useful behaviour when gitwrapper runs and repositories listed in gotd.conf do not yet exist or do no longer exist.


cc88020e95 Stefan Sperling

fix spurious empty packfile error from gotd when rewinding a branch

ok op@


7755e2f807 Omar Polo

consistently close the struct repository on every cmd_*()

Spotted while looking for leaks using Otto' malloc() new leaks detection. Harmless in practice since we just forgot to call got_repo_close() when terminating in some cmd_*() functions, but still a leak. ok stsp@


565f18a82d Omar Polo

free fileindex entry upon add_entry() failure

Very unlikely (an occurrence of it would mean that got produced an invalid fileindex) and harmless anyway since we would just terminate, but a leak is still a leak. ok stsp@


6be067cef8 Stefan Sperling

grammar fix for parse.y error message


f850236e70 Stefan Sperling

reject overlapping protected branch vs. tag namespaces

ok op@


584140c2ad Omar Polo

gotd.conf: free STRINGS in all code paths

ok stsp@


9292340069 Stefan Sperling

update TODO list


f042619049 Omar Polo

gotd.conf: fix memleak in `protect' error path and disallow dups too

ok stsp@