Commit Briefs

Thomas Adam

portable: add FreeBSD support

This adds the capability to compile got-portable on FreeBSD.


Thomas Adam

portable: initial Linux compilation

This commit modifies the GoT main branch to be able to compile it under linux.


Stefan Sperling

rename got_fetch_parse_uri() to got_dial_parse_uri()

This function is now being used by both 'got fetch' and 'got send' so its former name was misleading.


Stefan Sperling

de-duplicate a constant used by both 'got fetch' and 'got send'

Both GOT_FETCH_PKTMAX and GOT_SEND_PKTMAX had the same value. Declare this value as GOT_PKT_MAX in got_lib_pkt.h instead.


Stefan Sperling

move duplicated dial_ssh() and dial_git() functions into a common file

These functions are used by 'got send' and 'got fetch' in order to open network connections to a server. Move them into new file lib/dial.c and declare relevant functions in got_dial.h and lib/got_lib_dial.h. No functional change.


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


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

fix error checking in dial_ssh()


Stefan Sperling

make close(2) failure checks consistent; check 'close() == -1' everywhere

ok millert, naddy



Stefan Sperling

avoid signed vs unsigned comparisons in fetch.c

ssizeof() macro idea courtesy of millert@ ok millert@








Christian Weisgerber

Stop including <sys/syslimits.h> directly.

POSIX says the limits defined there are available from <limits.h>, which almost all affected source files already included anyway. ok millert stsp


Christian Weisgerber

use the POSIX standard endian functions and explicitly include <endian.h>

ok stsp


Christian Weisgerber

do not rely on <zlib.h> to pull in <unistd.h>

ok stsp


Sebastien marie

don't override port configuration with explicit argument if the url doesn't contains it

it permits to .ssh/config to be honored same diff from stsp@


Stefan Sperling

stop verifying pack file checksum in the main process during clone/fetch

Both got-fetch-pack and got-index-pack now verify the pack file checksum. This means we can avoid reading the entire pack file in the main process just to verify its checksum and avoid a noticable stall between fetching and indexing on slow machines.