Commit Briefs

c4330effad Stefan Sperling

expose got_pack_parse_ref_delta() for library-internal use

This will be needed by a future 'gotadmin listpack' command.


02828bfdd5 Stefan Sperling

expose got_packidx_get_object_offset() for library-internal use

This will be needed by a future 'gotadmin listpack' command.


40e3cb7295 Stefan Sperling

fix raw object size sent by got-read-pack


1c4cdd8929 Stefan Sperling

fix bogus 'permission denied' error when a file at work tree root is removed

ok naddy



cc2a8ef4d1 Tracey Emery

fix a leaky ibuf. ok stsp


779e1159b2 Stefan Sperling

expose the reflist_insert() helper function as got_reflist_insert()

This will be needed by 'gotadmin pack'.



740bba1c31 Stefan Sperling

allow the delta base file to lose its header between deltify_init and deltify

This simplifies pack file creation. A delta base could be read from a loose object, a packfile, or it might be available in a temporary file. All these cases can now be handled the same way. We may need to open, close, and re-open a given delta base multiple times while packing.


7550e799ee Stefan Sperling

check for errors from emitdelta() in got_deltify()



a859171129 Stefan Sperling

raw object size should not include the length of the object's header

This way, the size of a raw object is the same regardless of whether the object was found in a loose object file or in a pack file.


9ca9aafb02 Stefan Sperling

introduce got_object_id_queue_copy()

This will be required by a future 'gotadmin pack' command.


74a2356f3b Stefan Sperling

add a user data pointer to struct got_object_qid

This will be required by a future 'gotadmin pack' command.



26abd4a4db Stefan Sperling

typo


296304f302 Stefan Sperling

document how profiling works



245c724076 Stefan Sperling

unveil gmon.out if gotweb is being profiled

ok tracey


9ec58fff16 Stefan Sperling

use socketpair(2) instead of pipe(2) for bi-directional communication

On Linux, pipes returned from pipe(2) only work in one direction. This broke 'got clone' over ssh in the -portable version because got-fetch-pack assumes it can use its fetchfd for both reading and writing. I wrote a complicated diff to use two pipe(2) calls instead of one, but millert suggested a simpler solution: Use socketpair(2) instead of pipe(2). ok millert jrick tracey


8e09a16893 Tracey Emery

fix hang in commit regress test. ok stsp


fdf3c2d387 Stefan Sperling

use Patience diff for merging during cherrypick/backout/histedit/rebase

This has been shown to prevent mis-merges in some cases. It's probably not a final solution. We should look at what Git's "recursive merge" is doing and implement something similar. Keep using Myers during update/unstage. The advantage of Myers is that it produces smaller conflict chunks, and there are no known cases of mis-merges which affect update/unstage.


1d0f405485 Stefan Sperling

check for close(2) error in got_repo_close() and propagate errors up

ok tracey



0d15f6dcf9 Stefan Sperling

in addblk(), only read data into buffer1 if we will compare it to buffer2

suggested by and ok naddy@