Commits
- 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
- Commit:
5036ab18bf99be5d6811f17565b2c2fad47b3f73
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make 'got update' skip conflicted files
ok millert@
- Commit:
7f47418fd49bc98fe4570c139767c057cd066409
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make 'got checkout' and 'got update' work with read-only repositories
but warn users about the garbage collection problem
- Commit:
70e3e7f5a129106c0c31204233b35dfdf0d6a990
- From:
- Tracey Emery <tracey@traceyemery.net>
- Date:
add -k option to 'got remove' to keep files on disk
ok stsp
- Commit:
12463d8bf337d3eb12e6cd73d5bd1f25c278e571
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
address some of the file descriptor vs. path races in status callbacks
- Commit:
f2a9dc41d851ff2d575b08c2766583ff11cdd7af
- From:
- Tracey Emery <tracey@traceyemery.net>
- Date:
add -R option to 'got remove' for recursive deletion
ok stsp