# aurweb Git Archive Specification WARNING: This aurweb Git Archive implementation is experimental and may be changed. ## Overview This git archive specification refers to the archive git repositories created by [aurweb/scripts/git_archive.py](aurweb/scripts/git_archive.py) using [spec modules](#spec-modules). ## Configuration - `[git-archive]` - `author` - Git commit author - `author-email` - Git commit author email See an [official spec](#official-specs)'s documentation for spec-specific configurations. ## Fetch/Update Archives When a client has not yet fetched any initial archives, they should shallow-clone the repository: $ git clone --depth=1 https://aur.archlinux.org/archive.git aurweb-archive When updating, the repository is already cloned and changes need to be pulled from remote: # To update: $ cd aurweb-archive && git pull For end-user production applications, see [Minimize Disk Space](#minimize-disk-space). ## Minimize Disk Space Using `git gc` on the repository will compress revisions and remove unreachable objects which grow the repository a considerable amount each commit. It is recommended that the following command is used after cloning the archive or pulling updates: $ cd aurweb-archive && git gc --aggressive ## Spec Modules Each aurweb spec module belongs to the `aurweb.archives.spec` package. For example: a spec named "example" would be located at `aurweb.archives.spec.example`. [Official spec listings](#official-specs) use the following format: - `spec_name` - Spec description; what this spec produces - `` ### Official Specs - [metadata](doc/specs/metadata.md) - Package RPC `type=info` metadata - [metadata-repo](repos/metadata-repo.md) - [users](doc/specs/users.md) - List of users found in the database - [users-repo](repos/users-repo.md) - [pkgbases](doc/specs/pkgbases.md) - List of package bases found in the database - [pkgbases-repo](repos/pkgbases-repo.md) - [pkgnames](doc/specs/pkgnames.md) - List of package names found in the database - [pkgnames-repo](repos/pkgnames-repo.md)