Commit Briefs

Thomas Adam

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

problem found by robert@ ok jamsek, op


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


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)


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@


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.



Thomas Adam

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@


Thomas Adam

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@


Thomas Adam

grammar fix for parse.y error message


Thomas Adam

reject overlapping protected branch vs. tag namespaces

ok op@


Thomas Adam

gotd.conf: free STRINGS in all code paths

ok stsp@


Thomas Adam

update TODO list


Thomas Adam

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

ok stsp@



Thomas Adam

unfold line


Thomas Adam

template: fix processing of "{" at end of line

add a regress for this case.


Thomas Adam

fix crash in got log due to NULL-deref in got_object_blob_close

Reported by Mikhail (thanks!), ok jamsek


Thomas Adam

tog: resume blame and diff search from the first line

In diff and blame views, if the user scrolls up during a search, resume search from the first displayed line--not the current match. This makes sense in these views as the "cursor" or current line is the first line. Patch by Mikhail. ok op@


Thomas Adam

gotwebd: don't special case BLOB, BLOBRAW and RSS

shuffle some code to handle all the page types in the switch. ok tracey@


Thomas Adam

avoid gitwrapper printing a warning when /etc/gotd.conf does not exist

gotd still requires the config file, of course, but gitwrapper must treat is as optional and remain silent if the file cannot be found.


Thomas Adam

gitwrapper: execl() directly without fork()ing

Since we're going to unconditionally execute gotsh or git-*-pack, don't bother fork()ing and having the main process to wait(2), just execle()! ok stsp@


Thomas Adam

fmt



Thomas Adam

require gotsh to exist if the repository is listed in gotd.conf

ok op@


Thomas Adam

some formatting fixes for gitwrapper.1

- new sentence, new line - use Pa where needed - move ENVIRONMENT before FILES