#repo #performance #repository #android #status #sync #management

bin+lib pore

a performance oriented reimplementation of repo

13 releases

new 0.1.13 Jun 7, 2024
0.1.11 Feb 16, 2024
0.1.10 Nov 8, 2023
0.1.8 Jan 24, 2023
0.0.0 Jun 25, 2016

#24 in #repo

Apache-2.0

160KB
4K SLoC

pore

CircleCI

pore is a reimplementation of Android's repository management tool, repo, with a focus on performance. Tree-wide operations such as status and sync are up to 10 times faster in pore. Additionally, pore always does the equivalent of repo's --reference transparently, so a fresh checkout of a new tree takes on the order of one minute, instead of tens of minutes.

Installation and usage

The following instructions probably work on a Debian-ish system:

sudo apt-get install -y build-essential ca-certificates curl git libssl-dev pkg-config ssh
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
cargo install --git https://github.com/jmgao/pore --force

By default, pore uses a configuration suited for AOSP development that stores its mirror in ~/.pore/android. If you wish to change this, either use a symlink, or edit the output of pore config and save it to ~/.pore.toml.

License

This project is licensed under the Apache License, Version 2.0.

Dependencies

~20–35MB
~612K SLoC