Commits


got: drop commit -A $GOT_AUTHOR restriction As discussed with op and stsp on irc, this prevents the valid case of changing a commit's author to yourself during a histedit operation, and potentially blocks other valid use cases too. ok stsp@ and op@


got/tog/gotadmin: pledge earlier In the case of tog move setlocale(3) before pledge(2), as suggested by stsp. ok stsp@


send_tree_entries: simplify len computing


make 'got fetch -b branch' error reporting more helpful The patch to got-fetch-pack.c was written by stsp with only minor tweaks by me. Regress updated to account for the change in reporting. stsp's original got-fetch-pack.c diff ok op jamsek ok stsp@


regress: fetch -b/got.conf/wt/remote HEAD interaction The added test checks we honour the correct precedence of branches to be fetched, which is determined by: the -b flag; branches set in got.conf; the work tree's current branch; and the remote repository's HEAD branch. If a branch is specified with -b, only fetch this branch and if it does not exist, simply report to the user--do not fallback to other branches. Otherwise, if branches are either not set in got.conf or are set but do not exist on the server: - if invoked in a work tree, fallback to the work tree's current branch - if not in a work tree or the work tree's current branch does not exist on the server: - fallback to remote HEAD. With this, only the -b case can result in an unsuccessful fetch due to the requested branch(es) not existing on the server. All other cases will either fetch updates or report "Already up-to-date" (excepting errors). ok stsp@


special case 'got fetch -b <branch>' to only fetch <branch> As discussed on irc, this drops the implicit remote HEAD fetch when -b is used. got.1 has been updated to make the new fetch behaviour clear. ok stsp@


style


typo


style(9): function call in initialiser patch by Mikhail


lib/object_create.c: calloc object ids future fields added to the got_object_id will be implicitly zeroed instead of gibberish. ok stsp@


gotwebd: abort tree and blob as well


gotwebd: abort blame if the client disconnect midway thru Without setting err when the callback fails we continue the blame machinery.


make new log message modication check more robust; fixes regress fallout ok jamsek


garbage-collect redundant read_logmsg() parameter As identified and suggested by stsp, with the previous commit, 'strip_comments' is now always set thus no longer needed. ok stsp@


got: use timestamp and emptiness to validate log message As suggested by naddy: consider commit log messages valid provided the temp file time stamp has changed and the file is not empty. This heuristic provides the desired behaviour (i.e., reusing cherrypicked/backed-out log messages) that's currently provided but is simpler to grok. Improved by and ok stsp@


convert two files to utf8 ok stsp


add a TODO item for gotadmin pack command


open_blob: copy whole id not just the sha1


remove recv_disconnect() from repo_write.c; missed in previous commit


do not expect to see a DISCONNECT message in repo processes The parent no longer sends this message. Perform related cleanup in the shutdown path instead. ok op@


add functions to extract object ids from fileindex entries ok stsp


fix gotd segfault in libevent while disconnecting clients Sending a DISCONNECT message to the repo process and then killing it and freeing its structure won't work. The message ends up on internal libevent queues and will soon crash because we have freed the memory for the event structre. Sending that message is a leftover from the times when the repo procs were persistent.


rm unused boolean grammar. ok stsp@


make edits made to comments count as a log message modification This supports use of cherrypick/backout without requiring the user to modify the log message of the original commit. ok jamsek, op


fix gotd and gotsh usage() function declaration "function declaration isn't a prototype" should fix the error seen by tracey@ on sparc64