Commit Briefs

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.








Stefan Sperling

add an xfail test for a cherrypick bug where unrelated changes get merged

The test case I am using here is a bit large but I could not yet find a way to make it smaller. If someone knows a smaller test case, please let me know. naddy caught a small bug in the new test code I had written, thanks!


Christian Weisgerber

dial_git(): fix memory leak and simplify

Simplify dial_git() by formatting the initial Git protocol packet with dprintf, suggested by millert, and stop leaking an asprintf buffer. ok stsp


Stefan Sperling

validate reference names in open_ref()

This catches invalid reference names passed to 'got ref -l' and will also be needed to validate reference names passed to a future 'gotadmin pack' command. ok naddy@


Stefan Sperling

add checksum support to got_deflate_to_file()

This will eventually be used by 'gotadmin pack'. Checksum init and finalization will need to be done by the caller since many objects will be written out in compressed form while we are computing checksums across the entire pack file. ok millert, naddy


Stefan Sperling

plug a memory leak in got_ref_list_free()

Code which inserts a reference into a reflist passes ownership of this reference to the list. However, got_ref_list_free() never closed such references, which resulted in a memory leak. ok tracey






Stefan Sperling

ignore SIGWINCH while polling in the main process

Avoids an error where tog(1) would exit with "poll: Interrupted system call" while the terminal window was being resized. ok millert