Commit Briefs

7e3abb642d Thomas Adam

add regression test for 'got rm *' $PWD removal

Patch by Mikhail


8ec7352a93 Thomas Adam

only delete empty directories appearing in arguments to 'got rm'

Make 'got rm' keep empty directories which are not explicitly listed for deletion. Deleting such directories is problematic in several use cases. Avoids deleting the current working directory when the user runs "got rm *" (pointed out by Mikhail), and avoids deletion of an empty directory "foo/" after 'got rm foo/a foo/b' (pointed out by op@). ok jamsek, op


00580e0701 Thomas Adam

fix refs_str memory leaks

Pointed out by op@


cabb4cfd83 Thomas Adam

rework how reference labels are rendered in the tog log view

Draw reference labels and log message as separate strings. The previous code contained calculations mixing variables which represent an amount of wide characters in a string vs the display width of the string. We can avoid such nonsense by keeping the strings separate, though we have to be a bit careful about keeping horizontal scrolling intact. Also fix a bug where we failed to account for reference labels while setting view->maxx which made the $ key not scroll far enough. ok op@


d8edcc947b Thomas Adam

gotwebd: fix some got_error_from_errno2/3 calls

it's not printf-like so %s don't make sense. Tweak the order of the arguments to obtain the intended output.


d6e785550a Thomas Adam

consistently use ten Xs in mkstemp(3) templates

patch from Josiah Frentsos, thanks!


201812127e Thomas Adam

typo: character -> characters


0d095295f9 Thomas Adam

stop showing backup references in the tog log and diff views

Backup references clutter the log view too much now that we display labels next to commit messages. They were accidentally added to the log and diffs view by me, via build_refs_str(), when support for listing backup references was added to the ref view.


fcfb26c37e Thomas Adam

fix 'tog log' display regression with long reference lists

When the terminal becomes smaller horizontally we did not properly account for remaining columns and the log message of a commit could overflow into the next line, garbling the display.


3785c9e59d Thomas Adam

add a gotd todo item


d22dbfabbc Thomas Adam

trim trailing whitespace in TODO file



a4c8ed779e Thomas Adam

simplify ancestry checks in checkout, update, rebase, and merge

No behaviour change as the end result of the rewritten checks should be the same as before. We are just doing less work where possible. Patch by James Cook


61f9965eb4 Thomas Adam

fix the size of gotwebd's array of tempfiles used for deltas

Prevents ftruncate() errors due to bogus file descriptors passed from gotwebd once the repository layer runs out of temporary files to use for deltas. Have gotwebd open the maximum amount of required temporary files for now. A proper fix which scales to lower ulimit -n settings can be implemented later. Problem reported by patrick@




72f5a11aff Thomas Adam

gotwebd: avoid needless double fseek()

got_gotweb_closefile() already takes care of rewinding before truncating and closing, so no need to replicate here. ok stsp@


aa2aecab69 Thomas Adam

gotwebd: lower log priority of unexpected disconnections

no need to be so loud when a client disconnects earlier than expected, log it only in verbose mode. Don't log GOT_ERR_CANCELLED too since that is only used to communicate the callers that we need to stop. ok stsp@


00ddec2f20 Thomas Adam

relax build_refs_str to allow a NULL reflist, simplifes the callers

ok stsp@


5e43aca66f Thomas Adam

oops, one was missing


a97a7b2d0f Thomas Adam

got_operations.c: use consistently a space before labels

makes diff prettier and easier to read; instead of the label we have the function name in the hunk line.


2a18388f44 Thomas Adam

fix indent; touches only `return 0;' lines


61dc16bb64 Thomas Adam

tog: fix segfault in draw_commit

build_refs_str() can succeed returning a NULL string if a commit has some refs pointing to it but that were all filtered out, resulting in a NULL-deref. ok stsp@


ba77389f9f Thomas Adam

don't zero fields of a calloc()-allocated struct


c4c6774f44 Thomas Adam

remove fsync() from got_gotweb_closefile()

discussed with millert@