Commits
- Commit:
cdbfe5d2325bd7ae7a197ce5e7a93fcdba9097cb
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add cancellation support to the mixed-commits checker in worktree.c
- Commit:
99301cec42290cd26b9757c17eaaab5d70781bf1
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
load tog's worktree base commit marker in the log thread for startup speed
Walking the whole file index can take some time. Avoid delaying the perceived
start-up time of tog by reading the file index in the background log thread.
Problem pointed out by op@
with fixes from + ok jamsek
- Commit:
c935fd512b9937ffefdd248a3a840d0530011a1e
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: show work tree base commit marker in log view
If tog is invoked in a work tree, prefix the base commit log message summary
line with a '*' if the work tree is up-to-date, and with a '~' if the base
commit is not up-to-date with respect to the branch tip or it contains mixed
commits. While here, plug a couple worktree leaks in cmd_ref() and cmd_tree().
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:
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:
123836732402b1204e5be68f98a69084285c316d
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
add ci/he/mg/rb -C option to commit unresolved conflicts
As per stsp's suggestion and building on his initial diff, add the -C option
to enable creating commits with unresolved conflicts to the commit, histedit,
merge, and rebase commands to allow continuing the operation despite files in
conflict status. Also, only search for conflict markers in newly added lines
to enable working with files already under version control that may have
conflict markers embedded verbatim.
lots of tweaks, improvements, and initial diff + ok stsp@
- Commit:
ef85a376d8f41068fa9c6b11bc1fff98e3e9520c
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
zap unused parameter in got_worktree_rebase_complete()
ok stsp@
- Commit:
9587e6cc5169e6d39431fd1066097fd3f04e5d51
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
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@
- Commit:
d8bacb933720b8819f0c4e76b004775aa1885b9b
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
got: minor refactor of got_pathlist_free() API
Accept flag parameter to optionally specify which pointers to free. This saves
callers looping through the list to free pointers.
ok + fix stsp@
- Commit:
2a47b1e5852390eadc730c1dd2dd7caae011adfa
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
provide a diff of changes in a temp file while editing a commit log message
ok landry@
- Commit:
5e91dae4dd43b8024731223110ab18f505f453ac
- From:
- Josiah Frentsos <jfrent@tilde.team>
- Via:
- Stefan Sperling <stsp@stsp.name>
- Date:
remove trailing whitespace; patch by Josiah Frentsos
- Commit:
598eac4331d322ab9e91ee6864c54845e3a6e86c
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
reset committer during rebase and histedit
ok op@
- Commit:
4bcdc8959af14bcb2e50c7f303df6c055573bc7a
- From:
- Omar Polo <op@omarpolo.com>
- Date:
refactor got_patch / got_worktree_patch_complete
let got_patch own fileindex_path and call got_worktree_patch_complete
only if got_wokrtree_patch_prepare hasn't failed.
suggested by stsp@
- Commit:
f2dd780737c47f6d92e6fe01cbd51bf93c91b3b3
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got patch: avoid open/sync/close the fileindex over and over again
Instead of flushing the fileindex after every patch in the patchfile
just reuse the same fileindex and sync it only at the end of the patch
operation. This speeds up 'got patch' on large repositories by quite a
lot.
- Commit:
78f5ac2436c8d17d1dd687d69e51354707275988
- From:
- Omar Polo <op@omarpolo.com>
- Date:
move got_patch file status checking in worktree.c
check_file_status used got_worktree_status to check if the file was in
an allowed state, but it's wrong since the callback is not invoked on
unchanged files.
While here also fix a relate bug: unlink(newpath) is in the wrong spot
and ends up removing files even when it shouldn't, so move it early in
the got_worktree_schedule_* error handling.
Finally, update the appropriate test case. It was passing before
because got_worktree_schedule_add returned GOT_ERR_FILE_STATUS, not
because check_file_status failed.
ok stsp@
- Commit:
4e12cd97c02ae412c5a247dfaffa22ad58dd98b4
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make 'got rm' behave like rm(1) for paths found missing on disk
ok millert@
- Commit:
0ff8d236625b5d8329e10e9b812cbdef76917ba6
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
show commit progress output when 'got merge -c' is used
Otherwise no progress output is shown at all with this command.
Commit progress output will also display any additional changes
which resulted from conflict resolution.
ok millert@
- Commit:
f259c4c18277237ced1043033cb1af739f73db28
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add a 'got merge' command for creating merge commits
Additional testing by Thomas Adam.
ok tracey
- Commit:
abc59930d57a2d46c310e1b0c758c948554bc1af
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
indentation fixes
- Commit:
f6343036aa4d7e3805a44832b566b531271c1c6d
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
new -I option for 'got status' to show files which match an ignore pattern
- Commit:
e600f1246e15fff13251ba9d299d74a24ae579c2
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
ensure that old commits remain referenced after rebase and histedit
Create automatic "backup" references which ensure that objects from
the pre-rebase or pre-histedit state remain in the repository.
A new -l option for 'got rebase' and 'got histedit' lists old commits.
This makes it easier to recover from botched rebase or histedit operations.
Removal of such objects currently requires got ref -d and git-gc.
This will be made more convenient in the future.
testing and ok jrick
- Commit:
50b0790ed9a28fced631f31e5b7ca76a9a610ea5
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add per-worktree got.conf(5) file in the .got directory; ok millert
- Commit:
766841c2970cb5bef66c9c69201b231d0eefb120
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add -s option to 'got remove' which deletes files in a particular status
This makes it easy to deal with files that were deleted from disk by external
tooling which modified the work tree. Such files are left in missing (!)
status and can now be marked for deletion in bulk via 'got rm -s\! -R .'
For consistency, modified (M) files can now be removed with 'got rm -s M'
which implies 'got rm -f'.
Prompted by feedback from krw@
- Commit:
b2118c49a14c29447e228bf9a2b2a38f2da4f10b
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
Add a 'got info' command which displays work tree meta-data.
Remove the alias 'got in' for 'got init'.
The 'in' alias was too close to either 'init' or 'info'.
ok tracey, millert
- Commit:
35213c7c838a48142d398147b54bb9938af8cab0
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them