Commits


free fileindex entry upon add_entry() failure Very unlikely (an occurrence of it would mean that got produced an invalid fileindex) and harmless anyway since we would just terminate, but a leak is still a leak. ok stsp@


support histedit fold operations which delete a file and then add it again problem found by naddy@ ok op@


portable: configure: split out dependencies Rather than assume all dependencies are required for all programs, split them out. This will make packaging easier, as well as splitting the code to use subprojects. Note that due to the use of config.h semantics, in most cases the got_compat.h header file is now at the top of the .c file it is included in, so that it can handle the system header inclusion properly.


add some helper functions to compute hashes This adds a set of functions to abstract over SHA1Init, SHA1Update, SHA1Final, their respective SHA256 variants and how to compare digests. Replace all the SHA1*() usage with the new APIs. It's a preparatory step for sha256 handling. ok stsp@


portable: remove endian.h This is included portably.


portable: rework SHA detection Simply the SHA detection by not predicating on libcrypto, but instead checking individual header files.


portable: remove sha1.h; found portably Remove sha1.h as this is found portably across systems.


include sha2.h too where sha1.h is included In preparation for wide sha256 support; stsp@ agrees. Change done mechanically with find . -iname \*.[cy] -exec sam {} + X ,x/<sha1\.h>/i/\n#include <sha2.h>


add functions to extract object ids from fileindex entries ok stsp


zap double empty line


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@


remove trailing whitespace; patch by Josiah Frentsos


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.


build with -Wmissing-prototypes ok stsp@


check return value of RB_INSERT; ok + memleak fix by op@


portable: make UUID includes generic Move the detection of UUID header files to be included portably. This will have no functional effect until MacOS detection is put in place.


fix 'got status' reporting all directories on NFS mounts as unversioned Problem found and fix tested by Ted Bullock. ok millert, naddy


wrap overlong lines


add O_CLOEXEC (close-on-exec) to openat(2) calls suggested by millert ok thomas_adam


do not skip ignored directories in 'got status' if they contain tracked files Fixes regression introduced by commit 41f061b2f459318f3738f59d7676efccc4beb344 where tracked files inside an ignored directory were reported as missing.


skip ignored directories during 'got status' disk crawl


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


portable: initial Linux compilation This commit modifies the GoT main branch to be able to compile it under linux.


fix a bug where files skipped by 'got update' could not be updated again ok semarie@


fix bug where 'got up -c commit path' deleted unrelated files from work tree Problem reported by Timo Myyrä