Commit Briefs
diff: reduce duplicate code
Condense error checking to reduce a future diff moving those lines around; this pattern is already used in other parts of the tree. fine stsp ok tracey
when reading a pack index byte-swap fields at compile-time where possible
suggested by mpi@ ages ago
increase pack index cache size from 16 to 64 to improve performance
This can make a huge difference on repositories which contain more than 16 pack files, at the expense of additional open file handles. My test case was a ports.git repository with > 60 pack files (these accumulate due to 'got fetch', and 'git repack -a' would condense them). With cache size 16 'got update' in /usr/ports took more than 60 seconds. With cache size 64 the same command took less than 5 seconds. The root cause is probably that mapping and unmapping large files over and over again is expensive on OpenBSD.
CHANGES for 0.51 (tags/0.51)
fix use of an uninitialized stat buffer during work tree status crawl
found by naddy ok naddy jrick
CHANGES for 0.50 (tags/0.50)
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
Fix strftime(3) short buffer checks
strftime(3) returns 0 if the buffer was too short to write the complete string (including NUL) and will never return more than maxsize-1. ok stsp
Clarify log -x is inclusive
ok stsp
fix off-by-one error in delta length; from ori
git9 commit fbb2fb7c87d8edf58e22c84f575853dc9de79ac4