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如何使用从PreparedStatement返回的RowId。getGeneratedKeys()?   selenium chrome驱动程序中下一个网站url的java空白页   java如何将参数化匿名类转换为lambda?   java JUnit在AfterClass上获取测试结果   java将动态XML/JSON内容与静态标记化负载进行比较,并检索标记值   java共享一个需要数据持久性的项目[数据库]   java在调用方法时获取意外的参数类型。getParameterTypes()   java如何用jdbc在swing中用另一个字段替换外键?   需要java Jersey Tomcat CDI依赖项解释   java如何生成UML图   java如何编写Jersey rest服务可以通过给定的spring代码访问   SpringMaven存储库管理器Nexus与Java依赖项的Artifactory   java将包从另一个项目导入eclipse中的当前项目   加密Java使用密码加密文件