Commit Briefs

Thomas Adam

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@


Thomas Adam

portable: remove endian.h

This is included portably.


Thomas Adam

portable: rework SHA detection

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


Thomas Adam

portable: remove sha1.h; found portably

Remove sha1.h as this is found portably across systems.


Thomas Adam

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>


Thomas Adam

add functions to extract object ids from fileindex entries

ok stsp


Thomas Adam

zap double empty line


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@



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.


Thomas Adam

build with -Wmissing-prototypes

ok stsp@



Thomas Adam

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.


Thomas Adam

fix 'got status' reporting all directories on NFS mounts as unversioned

Problem found and fix tested by Ted Bullock. ok millert, naddy


Thomas Adam

wrap overlong lines


Thomas Adam

add O_CLOEXEC (close-on-exec) to openat(2) calls

suggested by millert ok thomas_adam


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.



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

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

ok semarie@


Stefan Sperling

fix bug where 'got up -c commit path' deleted unrelated files from work tree

Problem reported by Timo Myyrä


Yang Zhong

add fd field to got_worktree, modify got_fileindex_entry_update to use fds

These changes are intended to make got more compatible with FreeBSD's Capsicum. ok stsp


Christian Weisgerber

use modern POSIX timestamp fields in struct stat

ok stsp