Commit Briefs

Mark Jamsek

fix mistaken instances returning NULL instead of err

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


Mark Jamsek

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@


Mark Jamsek

zap unused parameter in got_worktree_rebase_complete()

ok stsp@


Mark Jamsek

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

ok stsp@


Mark Jamsek

free cwd in cmd_backout() and cmd_cherrypick()

ok stsp@


Stefan Sperling

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


Mark Jamsek

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@


Mark Jamsek

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

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


Mark Jamsek

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@


Mark Jamsek

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@




Stefan Sperling

rename a variable for clarity


Stefan Sperling

uppercase cherrypick/backout -X progress output

ok jamsek


Mark Jamsek

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@


Mark Jamsek

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@


Mark Jamsek

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@


Omar Polo

cmd_tag: avoid unnecessary strdup of signer_id

ok jrick


Omar Polo

got merge: call the right usage_*() function

Diff from Mikhail, thanks!


Mark Jamsek

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

ok stsp@


Mark Jamsek

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@


Mark Jamsek

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@


Mark Jamsek

got: set error on asprintf() failure

ok op@


Mark Jamsek

catch a few missed got_pathlist_append() error checks

ok stsp@


Mark Jamsek

got: zap dead variable in add_branch()

ok stsp@ op@