Commit Briefs

21c2d8be42 Thomas Adam

got: minor refactor of got_pathlist_free() API

Accept flag parameter to optionally specify which pointers to free. This saves callers looping through the list to free pointers. ok + fix stsp@


90d8536c17 Thomas Adam

rm useless continue ok stsp


301ae139af Thomas Adam

introduce got_path_move_file(); based on code from lib/patch.c

ok op@


8b925c6ccd Thomas Adam

portable: add back sys/queue.h

Now that the handling of including sys/queue.h is better, there's no need to remove those lines from the source. Copy the location of those original sys/queue.h lines from upstream at the same line number, so as to avoid any conflicts in the future.


0c6f49baf2 Thomas Adam

build with -Wwrite-strings

Throwing this into the mix for a while, we can always get rid of it again if it becomes annoying. No objections from stsp@


ef20f54204 Thomas Adam

build with -Wmissing-prototypes

ok stsp@


b0d7d6cb5f Thomas Adam

avoid malloc/free for duplicate check in got_pathlists_insert()

ok op@



d9db2ff90a Thomas Adam

got patch: allow to strip path components

Move some bits from the libexec helper to the main process so we know if the patch was generated by git or not and finally document the automatic stripping of a/ and b/ prefixes added by git-diff(1). ok stsp@


7ffb205f1d Thomas Adam

fix wrong path in a comment


0634062147 Thomas Adam

add O_CLOEXEC (close-on-exec) flag to open(2) calls

suggested by millert ok thomas_adam


dd038bc6ec Thomas Adam

portable: initial Linux compilation

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



0c4004e3b4 Stefan Sperling

handle non-const dirname(3) in got_path_dirname()

ok naddy


0a9483d0af Stefan Sperling

handle non-const basename in got_path_basename()

ok millert


20ccae3945 Stefan Sperling

cope with directory entries returned from readdir(3) with type DT_UNKNOWN

Such directory entries need special handling to make our directory traversal code work on filesystems that do not support the d_type optimization. I found this problem because references stored in the refs/ directory were not shown by 'got log' and 'tog log' when a repository is mounted over NFS. helpful feedback + ok millert@




455de7fa2c Theo Buehler

Avoid out of bounds access if path is "/".

From Martin <openbsd () academicsolutions ! ch> with tweaks by me. ok stsp



718ef3e9e8 Stefan Sperling

simplify cleanup code paths in got_path_find_prog()


202329ae1b Stefan Sperling

fix some more occurrences of potential errno clobbering


466d3b326f Stefan Sperling

remove redundant strlen() calls from got_path_cmp()


f2b16adaed Stefan Sperling

cache path length in struct got_pathlist_entry


d572f5860a Stefan Sperling

eliminate strlen() calls during fileindex rb tree searches