Commit Briefs

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

extend test_delete_branch

- try to delete using git - try to delete multiple branches in one go - verify the ref-list reported by the server before and after the deletion suggested / ok stsp


Thomas Adam

gotd: implement the delete-refs capability

Allow clients to run "got send -d" against gotd. Clients will send a zero-id as new id for a reference and, in the special but more common case of just deleting and not updating, no pack file will be sent. ok and tweaks by stsp@


Thomas Adam

regress for new backout/cherrypick logmsg references

Tests only cover the -lX interface to list and delete logmsg refs created by previous backout and cherrypick operations. Further tests are needed for revert and commit coverage to ensure that the correct log messages of bo/cy commits are loaded into the editor when 'got commit' is run, and that only the refs used to populate the editor for the new commit are deleted. Potential printf issues observed by op remain in the diff; noted here as a reminder to do a sweep at some point in the future as there are other such instances in cherrypick.sh and possibly elsewhere in regress. Reviewed as part of previous commit introducing logmsg ref support for backed-out/cherrypicked commits. ok 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

remove \n from log message


Thomas Adam

delete trailing whitespaces



Thomas Adam

avoid traversing enumerated commits more than once in got-read-pack

Keep track of parent commits that will be processed as part of looping over the commit queue provided by the main process, and do not add these commits to the queue again. Fixes pointless traversal of commits on the queue which will simply be skipped. The end result is the same either way. ok tracey


Thomas Adam

fix missing commits in pack files created with packed object enumeration

got-read-pack forgot to send a tree-enumeration-done message to the main process if the tree of a given commit had already been traversed. The main process would then not add the corresponding commit to the pack file, even though it should be added. Found while using 'got send' towards gotd in order to populate an empty repository on the server with non-trivial history, where some commits always ended up missing due to this bug. ok tracey


Thomas Adam

cmd_tag: avoid unnecessary strdup of signer_id

ok jrick


Thomas Adam

portable: set next version


Thomas Adam

portable: release 0.82 (tags/0.82)



Thomas Adam

got merge: call the right usage_*() function

Diff from Mikhail, thanks!


Thomas Adam

bump version number


Thomas Adam

CHANGES for 0.82




Thomas Adam

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

ok stsp@


Thomas Adam

don't print empty line when exiting tog

Reported and tested by dv: rather than print a new line to avoid clobbering the shell prompt when exiting tog with the alternate screen buffer disabled^, adopt naddy's vi(1) solution by looping through visible views to delete the topmost line, which inserts an empty line at the bottom so we don't need to print an empty line to ensure a clean prompt. ^: xterm -xrm 'XTerm*titeInhibit: 1' or run tog in the console ok naddy@


Thomas Adam

tog: display action report on user toggleable event

If the diff algorithm, ignore whitespace-only changes, force ASCII text diff, show committer/author, or reference sort order keymaps are toggled, report action to the bottom left of screen. Based on initial patch by Mikhail. ok + tweaks op@