Commit Briefs


Stefan Sperling

typo


Stefan Sperling

document how profiling works



Stefan Sperling

unveil gmon.out if gotweb is being profiled

ok tracey


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



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.


Stefan Sperling

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

ok tracey



Stefan Sperling

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

suggested by and ok naddy@




Stefan Sperling

addblk: be more careful about expanding the blocks array when we outgrow it

fixes + ok naddy


Stefan Sperling

check a block's hash as well as its length before expensive comparisons

suggested by + ok naddy, and Ori agrees




Stefan Sperling

simplify deflate checksumming code; fixes errors with upcoming 'gotadmin pack'

tweak + ok naddy


Stefan Sperling

fix unrelated changes being merged by got cherrypick/backout/rebase/histedit

This was a long-standing and very annoying bug. The two xfail tests in the cherrypick test suite are passing now.