Commit Briefs

Omar Polo

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


Stefan Sperling

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@




Omar Polo

unfold a line


Omar Polo

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.


Omar Polo

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


Omar Polo

plug leak in got_fetch_pack error path

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



Stefan Sperling

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

ok jrick


Josh Rickmar

fix makefile after .c rename


Stefan Sperling

adjust the early intro section of cvg.1


Josh Rickmar

rename cvg/got.c to cvg.c


Josh Rickmar

Exclude cvg from release builds


Josh Rickmar

Remove unused functions from cvg


Josh Rickmar

Begin cvg


Josh Rickmar

Copy got to cvg


Stefan Sperling

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@


Omar Polo

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


Josh Rickmar

plug a leak in insert_sendable_ref error path

from op@


Josh Rickmar

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


James Cook

remove 'got merge -M' todo item



Josh Rickmar

Make got_worktree_get_base_ref_name static

Nothing appears to benefit from this being non-static, and it was missing from the public API headers as well. ok stsp@


Josh Rickmar

Define apply_umask earlier, without predeclaration

ok op@