Commit Briefs

95a3dfcf9e Thomas Adam

gotctl no longer needs to link to libz and libm



959773748b Thomas Adam

remove unused function got_read_file_to_mem()


232c0ac1b2 Thomas Adam

remove dependency of gitwrapper, gotctl, and gotsh on object_parse.c

Move some functions from object_parse.c into hash.c. These functions either require hash.c code anyway or contain object ID implementation internals. Add a new file object_qid.c, for got_object_id_queue and got_object_qid. This new file must be linked to virtually every program.


48488136e0 Thomas Adam

remove dependency of gitwrapper on gotd/auth.c

Move gotd_auth_parseuid() from auth.c to parse.y as gotd_parseuid(), and remove auth.c from the list of source files required by gitwrapper.


65a36f170d Thomas Adam

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.


5769f9a0a0 Thomas Adam

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.


c282f7879b Thomas Adam

document the S key in tog's online help screen


28c54b826b Thomas Adam

portable: regress: enable tog tests

This enables running of the tog regress tests. Note that this is enabled before regress-cmdline, as regress-cmdline takes a while.


5007bd0d88 Thomas Adam

portable: linux: add libmd

On some systems libmd isn't explicitly implied, so detect this via pkg-config at configure time. Problem reported by @stsp


9aa08a9a8d Thomas Adam

zap stale tog regress make target spotted by stsp@


51b7e1c33f Thomas Adam

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

ok stsp@


3682a04dfa Thomas Adam

remove outdated information from README


1d98034bec Thomas Adam

release tog_io regress mock term resources in main()

ok stsp@


ffa5bcf7b7 Thomas Adam

update regress test info in README


557d336579 Thomas Adam

make tog regress run with pledge active

ok jamsek


8641a33271 Thomas Adam

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@


4d0b6596a3 Thomas Adam

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@


6f97aa8325 Thomas Adam

style nits from op@, thanks!


f883642501 Thomas Adam

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

problem found by robert@ ok jamsek, op


25a102ed18 Thomas Adam

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


b36a977475 Thomas Adam

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)


b85a34968b Thomas Adam

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@


d95864cd5d Thomas Adam

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.


f9542c24c5 Thomas Adam

fix spurious empty packfile error from gotd when rewinding a branch

ok op@