Commits


add support for multiple path arguments to 'got diff' positive feedback from Omar and kn ok kn


Fix "mandoc -T lint -W style got/got.1" nits


Document command aliases in tmux(1) style, add tags for navigation This has the advantage of tags being located right by the full command; combined with tags ":tco" to search for the `co` alias will jump right to the `checkout` line, neatly showing everything without needing further navigation. tmux hint from Thomas Adam, thanks. OK stsp


add histedit -e option which runs the 'edit' script command for every commit ok jrick


update a CAVEAT in got.1 now that 'got merge' exists


interrupt 'got histedit' upon missing/unversioned/not-deleted files


interrupt 'got rebase' upon missing/unversioned/not-deleted files


document all reasons why 'got merge' might be interrupted


implement 'got merge -n' which interrupts before creating a merge commit


make it possible to merge vendor branches with 'got merge'


stop using the term 'obstructed' ambiguously in the got.1 man page Specifically, obstructed files are versioned files which should be on disk but have been replaced on disk by a non-regular file (e.g. by a directory). The man page used the phrase "deletion was obstructed" which is unrelated to the above concept and can be expressed as "deletion was prevented" instead.


stop caring about obstructed versioned files in 'got merge' Tyring to write a test to cover this case I found that obstructed files are (correctly) detected as local modifications in the work tree. Thus they trigger the pre-condition check for local modications and 'got merge' will not even start to do any work in the presence of obstructed files.


add a 'got merge' command for creating merge commits Additional testing by Thomas Adam. ok tracey


'got status' does not have a -q option; remove it from got.1 synopsis


add -S option to 'got status' synopsis in got.1 man page


make got status -s and -S options conflict


add suppress status-code selection to got status. this allows for a quick way to clean output without the use of ignore files. ok stsp


add -q quiet mode to checkout and update. supressing output keeps the terminal responsive on large repos. ok jrick stsp


limit checks for merge conflicts to files affected by the merge Performance problems reported by naddy


remove ancestry sanity checks from 'got cherrypick' and 'got backout' While these checks might catch usage mistakes the performance overhead of scanning the entire history of the current branch is not worth it. Measurements provided by naddy, cherrypicking 5 commits of OpenBSD's src repository in usr.bin/rsync: Before: 5m50.33s real 4m02.36s user 2m04.41s system After: 1m04.92s real 0m28.24s user 0m36.54s system Further performance improvements could be needed but this is a first step.


Fix ksh completion example to complete the first arg only; from Clint Pachl


Add got(1) command tab-completion for ksh(1) to EXAMPLES section. Suggested by Clint Pachl, thanks!


allow deletion of refs/remotes/ branches with got branch -d Also, make requirements for branch name arguments more flexible. Absolute reference names are now accepted. ok naddy@


more manual page updates following the introduction of 'got send'


small man page spelling fixes