Commit Briefs

233dfb110b Thomas Adam

got.1: escape Eq since it's a GNU roff macro

`.Op Fl Eq' gets rendered as [-] with groff because Eq it's a macro. Escape it to get it rendered correctly. Discussed with bentley. Reported by casaca on the IRC channel, thanks!


e2e46a5258 Thomas Adam

small man page fix, spotted by op@


cd634f2d6d Thomas Adam

make 'got status' display interrupted rebase, histedit, and merge operations

When an operation is interrupted add a trailing message to status output which displays the operation and branches involved. This information will be useful when diagnosing problem reports and it helps new users with contextualizing multi-operation work tree state. ok op@


101257039a Thomas Adam

man nits; found with mandoc -Tlint


e6fdf1dda4 Thomas Adam

add log -t option which enables topological sorting of commits

Because the current implementation of toposort is expensive, add a flag which enables it. I would rather not have this option and just use toposort by default, however more work is required to achieve acceptable performance. ok op@


1d84e08292 Thomas Adam

got.1: use typewriter-style quoting in got.conf author example

Otherwise copy/pasting from the man page to got.conf produces syntax errors. Noticed by mlarkin@


f52e24d844 Thomas Adam

simplify usage of the 'mesg' histedit script command

The 'mesg' script command now requires a commit ID as its argument, rather than being tied to a preceding 'pick' or 'edit' command. The old model was too confusing for new users, in particular for people used to Git's rebase -i squash semantics. The 'mesg' command is now semantically equivalent to the 'pick' command and additionally opens the log message in an editor. The new syntax is simpler to use but also requires that we drop support for one-line log messages inside the histedit script, with a commit ID taking its place in the argument space. We don't believe this feature was used much, and that a simplified usage model is more beneficial overall. Patch by Lorenz (xha) ok jamsek



ba133bf369 Thomas Adam

document that the log -d option implies log -P

We did consider making -d and -P options conflict but doing so would not be very helpful. Instead, document -d as a superset of -P. ok op, jamsek




ef1538260f Thomas Adam

got: allow 'got log -x' to accept keywords

Suggested by Lucas on IRC. ok stsp@ and op@


44d79efab9 Thomas Adam

got: improve reporting accuracy in branch listing output

As suggested by stsp, show the out-of-date symbol for the work tree branch if it is not only out of date in relation to the branch tip but also if it contains mixed commits. Update regress and add new test to check for this case. Also, explain the mixed commit condition of * and ~ markers denoting work tree state in got(1) branch -l docs. ok stsp@



9f625d2da2 Thomas Adam

apply brevity tweaks for newly added keyword docs


3795e2b655 Thomas Adam

got: enable more commands to accept commit keywords

More work adding commit keyword support to the blame, cat, ref, tag, and tree commands. With this, all Got commands that take a <commit> option argument or operand now support keywords. Regress flub saved by op! fixes + ok op@




fb8851205d Thomas Adam

expand support for commit keywords to more got commands

Add the ability to use keywords in the backout, branch, checkout, cherrypick, and patch commands. Includes some basic regress tests for the new commands, and also some more contrived test cases for 'got log -c[:]keyword[:(+|-)[N]]'. ok stsp


1b9900744f Thomas Adam

avoid HEAD when talking about a work tree; HEAD is specific to the repository

ok jamsek



9139e0049a Thomas Adam

implement support for keywords as got <commit> arguments

This begins enabling the use of keywords in got wherever commit ids or references are used, with more work intended to expand support across all such instances (e.g., branch, checkout, etc.), and add more keywords. The keywords ":base" and ":head" can be passed to 'got {diff,log,update} -c' commands as a substitute for the corresponding commit hash id. Keywords and references can also be modified by appending a ':+' or ':-' and an optional integer N to specify by first parent traversal the Nth generation descendant or antecedent, respectively. If N is omitted, a '1' is implicitly appended. tweaks + ok op and stsp


bccae03fdb Thomas Adam

abort histedit if the user quits the editor without saving the script

Also document that the commit/import/tag operations are aborted when the user fails to save the log message from the invoked editor. ok jamsek stsp


87c986b7f0 Thomas Adam

fix broken sentence in got.1 (was missing a word)