Commit Briefs

Thomas Adam

make 'got rebase' work when the to-be-rebased branch has no parent commit

found by and ok op@, who also provided the test case


Thomas Adam

show worktree UUID in backout/cherrypick -l output

When run from the repository, display the UUID to help the user know which logmsg refs belong to which work tree. Also, use "backout" or "cherrypick" in the log message header to distinguish output from 'got log'. Suggested by stsp on irc. ok stsp@


Thomas Adam

add missed option conflict check for histedit -e and -f

Reviewed as part of previous commit adding histedit -d. ok stsp@


Thomas Adam

got: add 'got histedit -d' flag to drop all commits

Like -f, except drop all commits. Discussed with op and stsp on irc. ok stsp@


Thomas Adam

got: don't leave tmp "got-logmsg-*" files in the work tree

Reported by stsp on irc, and reviewed as part of the following regress commit covering the commit aspect of logmsg refs. Delete temp merge_log files if created during commits involving backed-out/cherrypicked changes. ok stsp@




Thomas Adam

rename a variable for clarity


Thomas Adam

uppercase cherrypick/backout -X progress output

ok jamsek


Thomas Adam

improve heuristics for prepopulated log messages

Small tweak to cover the case where users specify paths to be committed such that none of the paths modified by a backout or cherrypick operation are in the commit. In this case, the logmsg ref will remain in refs/got/worktree to be used when the user does run a commit involving the affected paths. ok stsp@


Thomas Adam

fix invalid assumption in commit_path_changed_in_worktree()

Make sure we have a parent id first to avoid dereferencing a NULL pointer with the got_object_open_as_commit() call. ok op@ and stsp@


Thomas Adam

got: load editor with backout/cherrypick commit log messages

Create new logmsg references used to populate the editor with the log messages of backed-out and cherrypicked commits when 'got commit' is run. We use versioned path state heuristics during revert and commit commands in an effort to ensure the editor is only populated with the log messages of backed-out and/or cherrypicked commits involving paths with local changes that are being committed. This is an implementation of an initial idea and algorithm designed by stsp. inputs, improvments and ok stsp@


Thomas Adam

cmd_tag: avoid unnecessary strdup of signer_id

ok jrick


Thomas Adam

got merge: call the right usage_*() function

Diff from Mikhail, thanks!


Thomas Adam

got: don't leak pathlist in commit and revert commands

ok stsp@


Thomas Adam

refactor got log -d and tog diffstat to compute diff once

This eliminates the previous performance cost by making 'got log -d' and tog diff view compute the diffstat while building the diff in a temp file like we do with 'got diff -d'. Also, keep the current 'got log -d' UI as per stsp's suggestion. ok stsp@


Thomas Adam

don't use plural noun after 1 in diffstat total

Use singular form when appropriate; for example, turn the top into the bottom: 1 file changed, 1 insertions(+), 1 deletions(-) 1 file changed, 1 insertion(+), 1 deletion(-) ok op@


Thomas Adam

got: set error on asprintf() failure

ok op@


Thomas Adam

catch a few missed got_pathlist_append() error checks

ok stsp@


Thomas Adam

got: zap dead variable in add_branch()

ok stsp@ op@


Thomas Adam

got: minor refactor of got_pathlist_free() API

Accept flag parameter to optionally specify which pointers to free. This saves callers looping through the list to free pointers. ok + fix stsp@


Thomas Adam

got: expand diffstat -d option to 'got diff'

Like got log -d, add the switch to 'got diff' to display a diffstat of changes; as per stsp's suggestion, we always include diff output with the diffstat. Disabled in gotwebd (for now :) Includes tweaks from op@ ok stsp@


Thomas Adam

fix 'got rebase' not detecting an out-of-date work tree in some cases

ok jamsek, op



Thomas Adam

add -d switch to log usage and sort lexicographically

patch by Josiah Frentsos