A simple command tool to manage local repositories.
The metadata of local repository should be managed by user self manually.
The repos
command tool only reads the metadata for operations and never modifies it.
Please take a look at https://github.com/toml-lang/toml to get a quick introduction of toml format.
Currently, the repos
command tool calls vcs process for synchronizing repositories.
Please make sure to put vcs command line programs in the path environment before using repos
command line to synchronizing repositories.
See Repos.sample.toml
for sample.
Repos.toml
repos sync {repo_url}
Run repos sync {repo_url}
.
repos remove {repo_url}
Repos.toml
Run repos sync
.
Run repos topic {topic}
.
Run repos topics
.
Run repos stats
.
Run repos cleanup
.
Run repos search {keyword}
.
Run repos proxy
.
Edit proxy
section in metadata file.
See Repos.template.toml
for overview.
url
: follow usage of vcsvcs
: version control system. choices: git, hgallow_sync
: whether synchronized to local, or just marked in metadatabare
: whether bareuse_proxy
: whether using proxy for synctopics
: topics belong toscheme
: choices: http, socks5host
port
These files and directories are all in current/working directory (pwd
).
Repos.toml
{host}/{path_to_repo}
e.g. repository directory of url https://example.com/org/repo.git
is example.com/org/repo
.
sync
: update or clone if a repository url provided, else synchronize all repositoriesremove
: remove local directory of a repositorytopics
: list all topics with count of their repositoriestopic
: list repositories of a topicstats
: output stats of all repositoriescleanup
: clean up unused resourcessearch
: search repositories by keywordproxy
: output proxy configurationExamples:
repos sync https://github.com/org/repo.git
repos sync
repos remove https://github.com/org/repo.git
repos topics
repos topic rust
repos stats
repos cleanup
repos search key_word
repos proxy
There are some limitations now.
Relative URLs without base (scp-like syntax) are not supported.
e.g. [user@]host.xz:path/to/repo.git
or [user@]host.xz:~/path/to/repo.git
The bare
attribute of a repository is only used for cloning the repository.