#仓库 #命令行工具 #管理 #CLI

bin+lib repos-tool

一个简单的命令行工具,用于管理本地仓库

5 个版本

使用旧 Rust 2015

0.1.4 2018年11月22日
0.1.3 2018年9月20日
0.1.2 2018年9月18日
0.1.1 2018年9月13日
0.1.0 2018年9月9日

#245#仓库

MIT/Apache

32KB
687 行(不包括注释)

repos

一个简单的命令行工具,用于管理本地仓库。

说明

  • 元数据文件由用户手动管理

    本地仓库的元数据应由用户手动管理。`repos` 命令行工具只读取元数据进行操作,永远不会修改它。

    请访问 https://github.com/toml-lang/toml 了解 toml 格式的快速介绍。

  • 通过启动 vcs 进程来实现 Vcs 支持

    目前,`repos` 命令行工具通过调用 vcs 进程来同步仓库。

    在使用 `repos` 命令行同步仓库之前,请确保将 vcs 命令行程序放入路径环境。

构建

首先,安装 Rust http://rust-lang.net.cn/install.html

然后,

cargo build --release

将构建的 target/release/repos (Windows 中的 target\release\repos.exe)命令行可执行程序复制到任何位置以供使用。

教程

准备您的元数据文件

参见 Repos.sample.toml 以获取示例。

要使用示例元数据文件,只需将其复制到您仓库的根目录,并将其重命名为 Repos.toml

添加一个新的仓库

  1. 将新的仓库元数据放入 Repos.toml
  2. 运行 repos sync {repo_url}

更新现有的仓库

运行 repos sync {repo_url}

删除现有的仓库

  1. 运行 repos remove {repo_url}
  2. 手动从 Repos.toml 中删除仓库元数据

更新所有仓库

运行 repos sync

列出某个主题的仓库

运行 repos topic {topic}

列出所有主题及其仓库数量

运行 repos topics

输出所有仓库的统计数据

运行 repos stats

清理未使用的资源

运行 repos cleanup

搜索仓库

运行 repos search {keyword}

输出代理配置

运行 repos proxy

更改代理配置

在元数据文件中编辑 proxy 部分。

元数据

查看 Repos.template.toml 以获取概述。

仓库

  • url:遵循 vcs 的用法
  • vcs:版本控制系统。选择:git, hg
  • allow_sync:是否同步到本地,或在元数据中仅标记
  • bare:是否为裸仓库
  • use_proxy:是否使用代理进行同步
  • topics:所属的主题

代理

  • scheme:选择:http, socks5
  • 主机
  • 端口

本地文件和目录

这些文件和目录都在当前/工作目录(pwd)中。

元数据文件

Repos.toml

仓库目录

{主机}/{path_to_repo}

例如,URL https://example.com/org/repo.git 的仓库目录是 example.com/org/repo

子命令

  • sync:如果提供了仓库 URL,则更新或克隆,否则同步所有仓库
  • remove:删除仓库的本地目录
  • topics:列出所有主题及其仓库计数
  • topic:列出主题的仓库
  • stats:输出所有仓库的统计数据
  • cleanup:清理未使用的资源
  • search:通过关键字搜索仓库
  • proxy:输出代理配置

示例

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 keyword
repos proxy

限制

目前有一些限制。

  • 不带基的相对 URL(类似 scp 的语法)不受支持。

    例如,[用户@]主机.xz:路径/to/仓库.git[用户@]主机.xz:~/路径/to/仓库.git

  • 仓库的 bare 属性仅用于克隆仓库。

  • 代理配置是全局的。这可能在将来改变。

  • Vcs 仅支持 git 和 hg(Mercurial)。

依赖关系

~2.3–3MB
~82K SLoC