Commit Briefs

2a47b1e585 Stefan Sperling

provide a diff of changes in a temp file while editing a commit log message

ok landry@


5e91dae4dd Stefan Sperling

remove trailing whitespace; patch by Josiah Frentsos


598eac4331 Stefan Sperling

reset committer during rebase and histedit

ok op@


4bcdc8959a Omar Polo

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@


f2dd780737 Omar Polo

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.


78f5ac2436 Omar Polo

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@


4e12cd97c0 Stefan Sperling

make 'got rm' behave like rm(1) for paths found missing on disk

ok millert@


0ff8d23662 Stefan Sperling

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@


f259c4c182 Stefan Sperling

add a 'got merge' command for creating merge commits

Additional testing by Thomas Adam. ok tracey


abc59930d5 Christian Weisgerber

indentation fixes



e600f1246e Stefan Sperling

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



766841c297 Stefan Sperling

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@


b2118c49a1 Stefan Sperling

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



5036ab18bf Stefan Sperling

make 'got update' skip conflicted files

ok millert@


7f47418fd4 Stefan Sperling

make 'got checkout' and 'got update' work with read-only repositories

but warn users about the garbage collection problem


70e3e7f5a1 Tracey Emery

add -k option to 'got remove' to keep files on disk

ok stsp



f2a9dc41d8 Tracey Emery

add -R option to 'got remove' for recursive deletion

ok stsp




1ebedb77e0 Stefan Sperling

teach 'got commit' to tweak the executable bit of a file


2822a3526b Stefan Sperling

add 'got integrate' command