Commits


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


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@


portable: enable cvg


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


refer to the dump stream's format as "bundle" rather than "dump"


fix copy-paste error in gotadmin.1 load section


unfold a line


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.


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


plug leak in got_fetch_pack error path set err and goto done instead of an early return that leaks various things. ok jrick


remove documentation of Got commands which cvg will not implement


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


fix makefile after .c rename


adjust the early intro section of cvg.1


rename cvg/got.c to cvg.c


Exclude cvg from release builds


Remove unused functions from cvg


Begin cvg


Copy got to cvg


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@


add an initial implementation of gotadmin dump gotadmin dump is used to export (part of) the history of the repository; at the moment it only generates git bundles (which are pack files with a header) but support to generate a fast-import stream is planned. ok/tweaks stsp and jamsek


plug a leak in insert_sendable_ref error path from op@


simplify lib/send.c reference handling Reorganize the reference validation and pathlist generation by removing the reflist and building a pathlist directly. The pathlist entries record the object id in their extra data pointer, which also allows several redundant reference lookups to be skipped. This will eventually simplify sending target reference names that do not match the local repo by adding another parameter to insert_sendable_ref for a remote reference. This remote name will be added to the pathlist, but validation and object id lookups will continue to be performed with the local reference. ok jamsek


remove 'got merge -M' todo item


fix broken sentence in got.1 (was missing a word)