独立于修订控制的依赖项和子存储库管理包。

dipr的Python项目详细描述


斗杆(斗杆)

dipr是一个存储库管理工具,旨在提供一种独立于修订控制的方式来管理依赖项和 子存储库。它强烈地模仿guestrepo,有许多 支持多版本控制系统和附加功能的改进。

依赖项

一个只读存储库,可以被拉取并设置为特定的修订版,但不应作为 根回购的代码库。

子存储库

根存储库的活动部分,可能会随根存储库的内容而更改。子存储库 可以使用下面的批量修订控制命令进行操作。

要求

支持的操作系统:

  • 窗口
  • Linux
  • OSX

它没有在这些操作系统的多个版本中进行广泛的测试。

先决条件:

  • python=3.7
  • Gitpython=2.1
  • ruamel yaml>;=0.15
  • 吉特=2.0
  • hg>;=4.0

dipr是在conda环境中开发、测试和构建的(pyinstaller)。有关详细信息,请参见DEVELOPER.md

许可证

DIPR是麻省理工学院授权的。有关详细信息,请参见LICENSE.md

凭证存储

dipr假设凭证是为将要使用的修订控制系统缓存的。迪普做的 没有提供任何方法来指定或存储依赖项和子存储库的凭据信息。设置 安全凭据缓存读取以下内容:

git:Git Tools Credential Storage

mercurial:Mercurial Keyring Extension

以上的实现可能因平台(Windows、Linux、OSX)而异。一定要了解 确保选择安全选项的选项。

安装

可通过PIP获得:

> pip install dipr

或使用附带的setup.py:

> python setup.py install

示例

一般

所有可用的命令都记录在内置的命令行帮助系统中:

> dipr -h

DIPR可以作用于当前目录以外的目录:

> dipr -p "/path/to/the repo" status

依赖关系和子存储库管理

用dipr yaml文件初始化当前文件夹或repo:

> dipr init

添加一些回购源:

> dipr sources add hg HGDEP1 http://example.com/hg/hgdep1
> dipr sources add git GITSUB1 http://example.com/git/gitsub1
> dipr depends add HGDEP1 Depends/HgDep1
> dipr subrepos add GITSUB1 SubRepos/GitSub1

将回购文件放入其文件夹:

> dipr pull

将回购协议更新为其指定版本:

> dipr update

检查收回回购的状态:

> dipr status

开始开发!

>导入现有依赖项或子存储库

Git子模块:

> dipr init
> dipr import submodules --clean
> dipr pull
> dipr update

多功能客房:

> dipr init
> dipr import guestrepos --clean
> dipr pull
> dipr update

修订管理

批量修订管理可用于依赖项和子存储库。

冻结当前版本的回购:

> dipr depends freeze

将回购升级到其最新标签:

> dipr depends upgrade --check   
<... list of available upgrades ...>
> dipr depends upgrade
> dipr update

将回购解冻为默认分行中的最新版本:

> dipr depends unfreeze
> dipr update

将回购设置为特定版本:

> dipr depends rev --path Depends/HgDep1 --branch DevBranch
> dipr update

修订控制命令

批量修订控制命令可以在根repo(其中.dipr文件夹位于)和所有 子存储库。

提交根repo和所有子存储库(根据需要添加或删除文件):

> dipr rcs commit -m "A commit message." --add-remove

仅标记子存储库:

> dipr rcs tag "Release_V1.1.1" -m "A release tag" --exclude-root

将根repo和所有子存储库推送到其上游:

> dipr rcs push

放弃根repo和所有子存储库中的更改:

> dipr rcs discard

依赖项中的更改也可能被丢弃:

> dipr rcs discard --only-depends

DIPR数据存储

dipr的所有数据都存储在通过dipr init命令初始化的.dipr目录中。数据文件是yaml 格式化并记录如何手动添加或修改条目的示例。

sample diprsrc.yaml:

DIPSUB1:
    PROTOCOL: GIT
    URL: https://example.com/git/dipsub1.git

HGSUB1:
    PROTOCOL: HG
    URL: https://example.com/hg/hgsub1

DIPDEP1:
    PROTOCOL: GIT
    URL: https://example.com/git/dipdep1.git

sample diprdep.yaml:

将更新为指定标记的回购:

"Depends/DipDep1":
    KEY: DIPDEP1
    TAG: Release_V1.0.3

将更新到默认分支尖端的回购:

"Depends\DiprStuff":
    KEY: DIPRSTUFF

将更新到develbranch提示的回购:

"Depends/SubFolder/ODiprStuff":
    KEY: ODIPRTUFF
    BRANCH: DevelBranch

将更新为特定修订哈希的回购:

"Depends/FinalDiprStuff":
    KEY: FDIPRSTUFF
    REVISION: 234d395

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

推荐PyPI第三方库


热门话题
java如何将jasper集成到jhipster项目中   java无法忽略lombok注释   关于tomcat日志的java问题   java@Autowired未设置字段>NullPointerException   GUI提交按钮不工作   java气泡和选择排序   java如何编写规则来匹配两个数组?   java如何找出某个字符在字符串中的第一次、第二次或第三次出现?   java通过字符串引用id   javascript在网络视图中加载在线图表   java保留web应用程序中用户更改的日志   在安卓中尝试使用Mandrill SMTP发送电子邮件时出现java错误   用java语言将a2b4c5等字符串转换为AABBCCCCC的程序是什么?   java无需TODO即可删除所有注释   java JMX MBean在应用程序部署时自动注册   java如何使用JSON解析从任何url解析数据   java@transactional注释类使用代理包装,但未创建事务   JavaFx转换和打印