Commit Briefs
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
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@
add missed option conflict check for histedit -e and -f
Reviewed as part of previous commit adding histedit -d. ok stsp@
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@
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@
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@
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@
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@
got merge: call the right usage_*() function
Diff from Mikhail, thanks!
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@
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@
got: zap dead variable in add_branch()
ok stsp@ op@
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@
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@