Commits


cap pack file cache size at 1/8 of the current open file desciptor limit


fix off-by-one in got_repo_cache_pack()


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.


fix error checking in dial_ssh()


bump version number


CHANGES for 0.51


fix use of an uninitialized stat buffer during work tree status crawl found by naddy ok naddy jrick


rebase/histedit -l: error out if no backups for the requested branch exist


deltify.c: explicitly include <endian.h> for be64toh()


bump version number


CHANGES for 0.50


sync dist file list


fix strftime return value check; found by jrick


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


improve got ref -d documentation: mention that objects won't be deleted 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


implement raw object data access; this will be required for packing


add a simple deltify test


substantial rewrite of deltify.c; operate on plain files only


fix off-by-one error in delta length; from ori git9 commit fbb2fb7c87d8edf58e22c84f575853dc9de79ac4


first pass over deltify.c: adapt coding style and data types; make it compile


Ori has authorized a licence change to OpenBSD's license template


add deltify.c, unmodified from git9, with license header added


use Myers diff instead of Patience diff when merging files with diff3 Myers diff tends to divide files into smaller diff chunks, while Patience diff attemps to maximize the size of diff chunks. Smaller diffs chunks generally result in a more managable presentation of merge conflicts.