Commit Briefs

Omar Polo

support landlock ABI v2 and v3

Add the right #ifdef for backward-compatibility and block REFER and TRUNCATE as well, otherwise they're silently and implicitly allowed. The funny part is that LANDLOCK_ACCESS_FS_TRUNCATE doesn't even need write permissions. ok thomas


Omar Polo

remove needless newline escaping


Thomas Adam

portable: cvg: remove whitespace in Makefile

Remove trailing whitespace from Makefile.am


Thomas Adam

gotadmin cleanup: don't delete pack files that are too young

similar to what we do for loose objects, avoid deleting pack files that were created "too soon" unless -a is given. This prevents races when gotadmin load, got fetch or gotd are installing a new pack file and a concurrent gotadmin clean attempts to remove it. ok stsp


Thomas Adam

purge_redundant_pack(): don't special-case .pack or .idx

leftover, the error handling of unlink() a couple of lines below used to carry a similar special-casing but was dropped; drop it here too.


Thomas Adam

take reachability in consideration when cleaning redundant packfiles

This wraps the cleaning up of loose objects and redundant pack files under a new functions, making the _prepare() and _complete() functions unnecessary. It walks the reachable commits unconditionally since that information is always needed and adapt how we purge loose objects after this change. The progress function is changed too and we log `ncommits' first, followed by the number of loose objects, followed by the rest. Pack files are now considered redundant when all their objects are provided by a bigger pack or are unreachable. ok stsp


Thomas Adam

make 'gotadmin load' always read data from standard input

This provides better symmetry with 'gotadmin dump', and allows us to pass the list of references as command line arguments, replacing the -b option. The -l option now takes an argument which specifies the bundle file rather than requiring data to be fed on stdin with -l which feels awkward. ok op@


Thomas Adam

portable: enable cvg


Thomas Adam

portable: enable 'gotadmin load'

Add new .c files to gotadmin's Makefile, and add the standard got_compat.h wrapper.




Thomas Adam

unfold a line


Thomas Adam

gotadmin load: don't add a newline when listing refs

the newline is only needed after the progress output, which is not present in the 'listing refs' case.


Thomas Adam

add an initial implementation of gotadmin load

it is intended to be the counterpart of `gotadmin dump' and, just like it, there's planned support for handling fast-import stream. At the moment it only deals with git bundles. ok stsp


Thomas Adam

plug leak in got_fetch_pack error path

set err and goto done instead of an early return that leaks various things. ok jrick



Thomas Adam

remove the cvg ref command; we do not expect that users will need it

ok jrick


Thomas Adam

fix makefile after .c rename


Thomas Adam

adjust the early intro section of cvg.1


Thomas Adam

rename cvg/got.c to cvg.c


Thomas Adam

Exclude cvg from release builds


Thomas Adam

Remove unused functions from cvg


Thomas Adam

Begin cvg


Thomas Adam

Copy got to cvg


Thomas Adam

make gitwrapper ignore 'permission denied' for repository paths

We recommend that gotsh users should not have direct filesystem access to repositories served by gotd. Which means admins will be setting things up as follows if public read-access should be denied: chown _gotd /git chmod 700 /git su -m _gotd -c 'gotadmin init /git/repo.git" However, gitwrapper would error out when repositories listed in gotd.conf were inaccessible to the user invoking gitwrapper: git-upload-pack: /etc/gotd.conf:2: realpath /git/repo.git: Permission denied Make gitwrapper ignore such errors as they are expected in this situation. While here, add a PROC_GITWRAPPER process ID for use as a global variable parse.y can check while special-casing any specific behaviour required by gitwrapper. (The worse alternative would have been adding a new global variable to parse.y just to control the behaviour on realpath errors.) ok op@