reposync帮助您管理许多git存储库。

reposync的Python项目详细描述


重新同步

reposync帮助您管理许多git存储库。通过在yaml文件中声明存储库,reposync可以以适当的方式对存储库应用各种git命令(目前仅限于clonepull)。

安装

$ pip install reposync

用法

repositories.yaml中声明存储库,如下所示:

Projects:
  Past:
    alpha: github.com/yourusername/alpha
  Current:
    beta: github.com/yourusername/beta
    omega: github.com/yourusername/omega

Dotfiles: github.com/yourusername/dotfiles

Others:
  TensorFlow: github.com/tensorflow/tensorflow
  Helm: [go, github.com/helm/helm]

然后运行$ reposync clone来克隆存储库,得到如下目录结构:

.
├── Projects
│   ├── Past
│   │   └── alpha
│   └── Current
│       └── beta
│       └── omega
├── Dotfiles
└── Others
    ├── TensorFlow
    └── Helm

要更新这些存储库,请使用$ reposync pull

可以使用--file <filename>.yaml指定yaml文件。有关完整选项,请参见$ reposync -- --help

go支持

在go中,最好将存储库放在gopath。reposync通过将go存储库克隆到go path中的正确路径(模拟go get)来支持这一点,然后在指定的路径上创建指向存储库的符号链接。

要指定go存储库,需要放置一个特殊列表。在上面的示例中,Helm是go存储库,其值为[go, github.com/helm/helm]。第一个元素表示go repository,第二个元素表示导入路径,最后一个元素表示二进制位置(可选,默认为导入路径)。

在内部,reposync将首先运行git clone https://github.com/helm/helm $GOPATH/src/github.com/helm/helm,然后运行ln -s $GOPATH/src/github.com/helm/helm Others/Helm

ssh支持

reposync支持使用ssh克隆存储库,只需传递--method=ssh(默认为--method=https)。此参数将使reposync自动使用与ssh url相对应的存储库url(可在repositories.yaml中找到)。

并发支持

reposync通过传递--concurrent,支持通过多线程并发执行命令。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用Jena获取类上的OWL限制   我需要用javadoc记录每一个方法还是java中的“main”方法?   ssl我的Java密钥库中需要什么?   java如何在安卓中实现视图寻呼机适配器?   java LibreOffice 4.4.3在不同服务器上使用jodconverter访问文档   Selenium Webdriver(Java)脚本之间的时间延迟   混合使用路径参数和请求参数的java Rest API   爪哇超级。基类中的toString()方法?   java IntelliJ Idea 2019.2与NPW崩溃   java replaceAll不适用于以下查询   java递归相关:两个数的乘积   java在屏幕/活动之间切换,无需按钮   java试图在GridBagLayout中对齐JcheckBox   java安全远程密码协议SRP和Spring安全