Commits
- Commit:
d0bb0ed648b2dd60e628937450cbaf9200beb9a6
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
plug got checkout and update worktree leaks spotted by op@
- Commit:
8f74b4995a14ceab9270fcd22a5c1ca34c5cc3be
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
plug got status worktree leak found by Kyle Ackerman; ok op@
- Commit:
14eb0fefd04d63b1a8d626e72c953a811a403f7d
- From:
- "Lorenz (xha)" <me@xha.li>
- Via:
- Stefan Sperling <stsp@stsp.name>
- Date:
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
- Commit:
db82695e31945b3ce001a5fb69674c3638622368
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
copy remote repo info out of work tree data before closing the work tree
Fixes a crash regression introduced when fetch/send were made to close
the work tree earlier.
- Commit:
48d13ac6dbfcb3d6edc18b5d373009c0cec558fa
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make 'got fetch' and 'got send' release the work tree lock earlier
This avoids having work tree operations blocked while network transfers
are in progress.
ok op@
- Commit:
692a4bb1222d6b7c94768d7305a2178a15b05887
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
prevent overlapping repo and work tree in 'got checkout'
Some people are eager to try to make Got work just like Git by overlaying
the repository and work tree. This causes problems with unveil conflicts
at run-time.
Fail as early as possible during 'got checkout' when users attempt this.
cosmetic tweaks + ok op@
- Commit:
07d8d6083dc8bd84b2c7ca96068ce3c35f8c1dbf
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
fix 'got log -dPp' diffstat duplication bug
Only collect changed paths once if both -d and -P are specified;
we already checked for -d and -p. Reported by Lucas on IRC.
Regress for this and the previous (got log -x keyword) commit still due.
ok stsp@ and op@
- Commit:
93c250cd168c2e1d2f9997774c87cc2718373404
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
got: allow 'got log -x' to accept keywords
Suggested by Lucas on IRC.
ok stsp@ and op@
- Commit:
996fba9b2127b5170b74da3dcdf8eabc7a5f8985
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
zap unused got_commit_object var; ok op@
- Commit:
cdbfe5d2325bd7ae7a197ce5e7a93fcdba9097cb
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add cancellation support to the mixed-commits checker in worktree.c
- Commit:
f47e2be5099a39b598f7b96d26b4fa08fdb62374
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
plug got_reference leak in cmd_update()
ok op@
- Commit:
863cc633e270c0edf587982ac9faccf7bb28f339
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
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@
- Commit:
df6221c7df42758252c508006201c3f66e6ae831
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
use a separate .cvg meta data directory for cvg(1) work trees
This prevents mixing the use of got and cvg clients in the same work tree.
Avoids confusion going forward while cvg differentiates itself further.
tog(1) and gotadmin(1) remain compatible with both work tree formats.
These tools only read work trees to locate the corresponding repository.
- Commit:
4390d6c167c321d53ad289366248325c8e0bfcf5
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
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@
- Commit:
c8d1a97c8f1deb9cb6fae25376d41d8549d28de4
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
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
- Commit:
fd7552d245966f4a57fdc5ec287c3226d5145391
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
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
- Commit:
ee27b57e0fcb14468a5b8a9cd8414b475267cddb
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
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
- Commit:
1494a06e4ce25cf1beafa90b6b1f98bdebf9e7e2
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
always report stat() error with path
ok stsp
- Commit:
b161263abf48e69eb1f05028b633808dfe337357
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
plug got_object_id leak in cmd_log()
ok stsp@
- Commit:
18877383a0d783b0b642a27b16ccd3d1a212c8a3
- From:
- James Cook <falsifian@falsifian.org>
- Date:
fix option processing for 'got merge'
Don't make -C imply -c (a break statement was missing). Detect -an and
-cn conflicts. Simplify by removing unneeded check for conflicting -aC
(since -C requires -c, we can rely on the -ac conflict being detected).
Update the man page to say -cC is allowed.
- Commit:
481cdc746b012203f39047cbc55f8b65ae40d046
- From:
- James Cook <falsifian@falsifian.org>
- Date:
add -M option: tell got merge not to fast-forward
ok stsp@
- Commit:
f25e229e88a01c4a65fa80f4d5e35cd34309cbf9
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
reword user-facing error message which mentions "fast-forward"
For user-facing messages it is better to avoid technical jargon like
this and instead spell out what the fast-forward situation implies: that
one branch is already based on another.
ok jamsek
- Commit:
1334230721068ac62f5ea69c359962cdedb4df60
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
prevent 'got merge' from creating commits on branches outside of "refs/heads/"
ok op, james
- Commit:
179f9db092046395efaa1dc9e767a1ec109e1174
- From:
- James Cook <falsifian@falsifian.org>
- Date:
Implement fast-forward merges.
Split part of got_worktree_merge_prepare into a new function,
got_worktree_merge_write_refs, since that part doesn't make sense in the
fast-forward case.
ok stsp@
- Commit:
9628f36dac5ed5319b482a020f06ff9737a0c1f0
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make 'got tree /' succeed in a work tree
Previously, this command would trigger an error: got: /: bad path