在一个命令中克隆并维护git存储库的整个层次结构

hierarch的Python项目详细描述


层次结构

TravisPyPI

Hierarchy是一个简单的工具,它允许您在one single command中克隆和维护Git存储库的整个层次结构

$ hierarchy

TODO: Add picture of hierarchy in action

快速启动

  1. 安装

    $ pip install hierarchy
    
  2. 创建层次结构文件

    $ nano ~/.hierarchy
    

    Sample Hierarchy File

    repos:-path:~/Dev/CliToolsurl:git@github.com:FlorianKempenich/Hierarchy.git-path:~/Dev/CliToolsurl:git@github.com:FlorianKempenich/kata.git-path:~/Dev/CliTools/DevOpsurl:git@github.com:FlorianKempenich/ansible-droplet.git-path:~/Dev/HomeAutomationurl:git@github.com:FlorianKempenich/Appdaemon-Test-Framework.gitname:appdaemontestframework
  3. runhierarchy

    $ hierarchy
    

hierarchy文件结构

hierarchy文件表示要克隆和维护的所有git存储库的平面层次结构。

它由项列表组成,在键repos下,每个项代表要克隆的存储库。

repos:-REPO_TO_CLONE_1-REPO_TO_CLONE_2-REPO_TO_CLONE_3

每个存储库都有以下结构:

url:"URLoftheproject.Thesameusedtoclonetherepositorywith`gitclone`"path:"Thelocalpathwheretoclonetherepository.Itcancontain`~`torepresentHOME"name:"OPTIONAL-Anametooverridethedefaultrepositorynamewhencloning"

存储库将在以下位置克隆:path/name
如果未提供name,则将使用存储库名称。

示例hierarchy文件可能如下所示:

repos:-path:~/Dev/CliToolsurl:git@github.com:FlorianKempenich/Hierarchy.git-path:~/Dev/CliToolsurl:git@github.com:FlorianKempenich/kata.git-path:~/Dev/CliTools/DevOpsurl:git@github.com:FlorianKempenich/ansible-droplet.git-path:~/Dev/HomeAutomationurl:git@github.com:FlorianKempenich/Appdaemon-Test-Framework.gitname:appdaemontestframework

选项

  • -f/--file HIERARCHY_FILE

    要使用的层次结构文件。
    默认值:~/.hierarchy

  • -v/--verbose

    启用详细模式

  • --help

    显示帮助


进行中的工作

  • [x]允许~path
  • 中 >如果不存在,则创建目录
  • []克隆所有子模块
  • []如果目录存在而不为空:
    • []不是同一个repo=>;跳过并通知用户(错误)
    • []不是repo=>;跳过并通知用户(错误)
    • []是正确的回购协议:
      • []没有本地修改,并且最新的远程设置为>;
        • []更新(拉)
        • []使用所有子模块更新
      • []有本地修改=>;跳过并通知用户(警告)
      • []不是最新的远程设置=>;跳过并通知用户(警告)

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

推荐PyPI第三方库


热门话题
java如何通过弹出消息或警报对话框验证多个edittext字段?   九人莫里斯游戏的java比特板表示法   java处理:如何阻止所有侦听器捕获鼠标事件   selenium我无法单击元素,没有错误WebDriver/Java/Firefox   多线程Java ReentrantLock,无法解锁锁   java将数据发送到Wampserver Android   Java 2D阵列和扫描仪   java在使用apache commons csv读取csv文件时跳过双引号   java Liberty Buildpack在部署War时偶尔暂停/冻结   java JavaFX日期选择器未更新值   java如何获取移动电话的公共IP地址?   java Mockito检查对象上是否调用了任何方法(对象已被访问)   java这个maven认证错误表明了什么?   java如何使用特殊字体(单元格中的文本以粗体、下划线甚至不同的字体颜色)添加到Jtable?   实例化可以是具体类或接口类的Java类   Java准备语句的Oracle错误“SQL命令未正确结束”(ORA0033)