Commit Briefs

Thomas Adam

fix mistaken instances returning NULL instead of err

While here, for consistency, check dup() return value for -1 rather than < 0. ok stsp@


Thomas Adam

got: make fetch default to the work tree's current branch

As per stsp's todo item, if invoked in a work tree, make 'got fetch' default to fetching the work tree's current branch instead of the branch pointed to by the remote repository's HEAD. ok stsp@ and op@


Thomas Adam

zap unused parameter in got_worktree_rebase_complete()

ok stsp@


Thomas Adam

return err instead of NULL in got.c:print_backup_ref()

ok stsp@


Thomas Adam

free cwd in cmd_backout() and cmd_cherrypick()

ok stsp@


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@