Commit Briefs

4ada367c22 Omar Polo

use INT32_MAX rather than INT_MAX for GOT_FILEIDX_MAX_ENTRIES

it's a different way to spell the same number, but it's more evocative since the on-disk format is 32 bits wide. ok stsp


9b2430434d Omar Polo

speed up read_fileindex_path()

Use a local buffer instead of calling reallocarray() every 8 bytes; the speed up is measurable. The downside is that we're now limited to paths long at most PATH_MAX bytes, but since this is the fileindex it's not an issue in practice. ok jamsek stsp


df6221c7df Stefan Sperling

use a separate .cvg meta data directory for cvg(1) work trees

This prevents mixing the use of got and cvg clients in the same work tree. Avoids confusion going forward while cvg differentiates itself further. tog(1) and gotadmin(1) remain compatible with both work tree formats. These tools only read work trees to locate the corresponding repository.


565f18a82d Omar Polo

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@


9a298e5c10 Stefan Sperling

support histedit fold operations which delete a file and then add it again

problem found by naddy@ ok op@


ae25a666dd Omar Polo

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@


5822e79e39 Omar Polo

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>


b4b2adf52b Omar Polo

add functions to extract object ids from fileindex entries

ok stsp


dc2745ec92 Omar Polo

zap double empty line


d8bacb9337 Mark Jamsek

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@


5e91dae4dd Stefan Sperling

remove trailing whitespace; patch by Josiah Frentsos


336075a42a Omar Polo

build with -Wmissing-prototypes

ok stsp@


a7472cb328 Stefan Sperling

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


a47330a24a Stefan Sperling

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

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


c0df59665d Stefan Sperling

wrap overlong lines


e7ae0bafef Stefan Sperling

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

suggested by millert ok thomas_adam


8f2ca62d67 Stefan Sperling

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.


62da319662 Stefan Sperling

skip ignored directories during 'got status' disk crawl


a769b60bb7 Stefan Sperling

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

ok semarie@


194cb7cb2a Stefan Sperling

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

Problem reported by Timo Myyrä


437adc9d5b 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


0823ffc2f6 Christian Weisgerber

use modern POSIX timestamp fields in struct stat

ok stsp