Commit Briefs

e8bfb8f399 Stefan Sperling

fix path existence check in got_object_tree_path_changed()

A symptom of this was a segfault in 'got blame distrib/miniroot/install.sub' with the OpenBSD src.git from github, reported by jrick. The problem was that the commit graph traversed one commit too far. This could be more easily reproduced with 'got log': got log -c 05f568 -P distrib/miniroot/install.sub Which listed two commits instead of just the first one: 05f568ecc6aadefa1aff9064a29e798874a71409 <-- install.sub first created here 7c0d87f00e480cdf004324dad6f3e6f4418f8f42 "distrib/miniroot" exists in 7c0d87f00e480cdf004324... but not in the parent of this commit. Ensure that we traverse the full path in tree1 even if an intermediate tree2 cannot be opened. Instead of reporting success and a file change if we can't traverse further through tree2, we now hit this failing attempt to open the file 'install.sub' in tree object 180aa33df8d1 (tree1): te1 = find_entry_by_name(tree1, seg, seglen); if (te1 == NULL) { err = got_error(GOT_ERR_NO_OBJ); goto done; } fix tested and ok jrick





dbdd620944 Stefan Sperling

handle non-const basename in resolve_symlink()

ok millert


23c57b285f 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


81a12da586 Christian Weisgerber

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

ok stsp



559d127ca5 Stefan Sperling

errant tab found by tracey




40dde666c0 Stefan Sperling

add support for symlinks in the repository to 'got diff'



f8f7c882a2 Stefan Sperling

fix buffer overflow in got_tree_entry_get_symlink_target()




8ba819a354 Stefan Sperling

let 'got checkout' create symlinks in a work tree




82bde4e0c8 Stefan Sperling

remove unused header include





992eb9d896 Tracey Emery

spelling


845785d4e4 Tracey Emery

typo