Commit Briefs


15341bfd54 Tracey Emery

trim directories in got remove -R

This is a racy solution that needs to be properly implemented in the future. ok stsp


de05890fef Stefan Sperling

fix histedit 'rebase commit ID mismatch' error when splitting a commit

Commit IDs on histedit's temporary branch can change arbitrarily because the user may create new commits on this branch while editing past commits. So there is no point in trying to verify these IDs like we do during rebase. Add a test case which demonstrates the problem.





a46b9f33fb Stefan Sperling

fix a bug where 'got revert -R' failed on added subtrees

The command could fail with "got: no such entry found in tree". This problem is reproduced by the regression test added in this commit. This happened because file index entries were processed in the wrong order by diff_fileindex_dir(). To fix this, keep removed entries in the RB tree and skip them when the file index is written out, rather than removing entries from the RB tree immediately causing side-effects for RB_NEXT and friends.


867630bb8f Stefan Sperling

Sleep for one nanosecond after syncing the file index to disk

Ensures that files modified after got exits have a different timestamp from the one which was recorded in the file index. Previously, 'got status' did not always detect such files as modified. Problem reported by Steven McDonald.


bb51a5b4af Stefan Sperling

add -E option to 'got checkout' allowing use of a non-empty work tree path

needed by and ok kn@


5aa813935b Stefan Sperling

add copyright year for files already touched in 2020


e51d7b55a3 Stefan Sperling

prevent rebase with an out-of-date work tree


7f47418fd4 Stefan Sperling

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

but warn users about the garbage collection problem


fdcb7dafab Stefan Sperling

always unlink merged temporary files if an error occurs



32d2fb4834 Stefan Sperling

add missing error checks to an openat() call


6052298250 Stefan Sperling

fix wrong function names in errno error messages



70e3e7f5a1 Tracey Emery

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

ok stsp


ab0d436167 Stefan Sperling

fix leak in an error path of get_file_status()



3d35a492f8 Stefan Sperling

avoid opening the file in get_file_status() if possible


82223ffcc5 Stefan Sperling

fix wrong function name in errno error message



7f91a1339f Stefan Sperling

open files during status crawl in a race-free way, too