Commits


backout got stage -R option addition The stage command is usually used in a recursive manner, like 'got commit'. Forcing users to specify -R all the time is deemed too inconvenient in practice. discussed on IRC with Lorenz (xha), Omar, and Lucas


update protocol lists Document http and https protocols in got.conf(5). Copied from got(1) except reworded the part that referred to got.conf(5). Change "send directive" to "send block" in got(1), since got.conf(5) says there's "one configuration directive per line". Adjust table widths: longest protocol name is now "https".


require -R option for staging or unstaging directory contents -R is needed on almost all other commands so this makes things consistent. Patch by Lorenz (xha)


drop git+ssh protocol name from documentation; Git has done the same We can keep accepting git+ssh for backwards compatibility with existing configs.


doc tweaks regarding HTTP protocol support


man page updates for HTTP clone/fetch support


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!


small man page fix, spotted by op@


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@


man nits; found with mandoc -Tlint


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@


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@


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


slightly reword 'got merge' documentation to hopefully be more clear


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


undo unrelated man page change from 1050403b806ca85666ad4b6a9e83953fdbb5298a


gotd: stop logging "unexpected end of file" when a client decides to disconnect


got: allow 'got log -x' to accept keywords Suggested by Lucas on IRC. ok stsp@ and op@


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@


remove stray .Pp that I overlooked in my previous commit


apply brevity tweaks for newly added keyword docs


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@


reword commit keyword argument descriptions in got.1 for brevity


reorder some paragraphs in got.1 to make default behaviour easier to spot


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