一个自动使用--reference来节省时间和空间的git克隆包装器。
git-autoshare的Python项目详细描述
自动使用–reference的git克隆包装器 以节省磁盘空间和下载时间。
内容
Installation
要以一种奇特的方式安装git autoshare,我们建议使用pipx。
安装pipx后,只需运行:
$ pipx install git-autoshare
要随时升级git autoshare,请执行以下操作:
$ pipx upgrade git-autoshare
如果希望git autoshare-clone被透明地调用,而不是git clone, 创建以下bash脚本,将其命名为git,并将其放在/usr/bin/git之前的PATH:
#!/bin/bash if["$1"=="clone"]thenshift /usr/bin/git autoshare-clone "$@"else /usr/bin/git "$@"fi
Usage
Configuration file
要配置它,请在用户配置中创建名为git-autoshare/repos.yml的文件 目录(在Linux上通常是~/.config)。此文件必须具有以下结构:
host: repo: orgs: - organization - ... private: (True|False) ...: ...:
它列出了所有受共享影响的git主机、存储库和组织 Git对象的。下面是一个示例:
github.com: odoo: orgs: - odoo - OCA enterprise: orgs: - odoo - acsone private: True mis-builder: # shortcut to provides organizations - OCA - acsone
注意使用private选项,用于使用ssh协议强制获取。
还可以使用*作为存储库名称的通配符,以便 自动共享应用于某些组织的所有回购:
github.com: "*": orgs: - odoo - OCA - acsone private: True
注意
在此配置中,git-autoshare-prefetch不带参数 不会获取任何通配符回购。这在未来可能会得到改善 重新提取缓存中已存在的回购。
Environment variables
缓存目录名为git-autoshare,其中appdirs。 (通常是~/.cache/git autoshare/)。 可以使用GIT_AUTOSHARE_CACHE_DIR环境变量配置此位置。
默认配置文件名为repos.yml,其中appdirs。 (通常是~/.config/git autoshare/)。 可以使用GIT_AUTOSHARE_CONFIG_DIR环境变量配置此位置。
默认情况下,git-autoshare调用git作为/usr/bin/git。这可以用^{tt23}配置$ 环境变量。
Credits
作者:
- Stéphane Bidoul (ACSONE)
贡献者
- Simone Orsi (Camptocamp)
- Mykhailo Panarin
维修人员:
该项目由Acsone SA/NV维护。
Changes
1.0.0b4 (2019-07-14)
- 支持ssh://url,删除对giturlparse的依赖性
1.0.0b3 (2019-07-13)
- 在克隆之前始终预取缓存,以确保缓存已更新 定期
1.0.0b2 (2019-03-17)
- add子模块add命令
- 使用安全加载来分析配置
- 在配置中允许使用通配符
- 内部重构
1.0.0b1 (2018-01-07)
- 支持私有存储库
- 在预取中更好地处理远程
- 使用–prun进行预取
1.0.0a2 (2017-10-10)
- 第一个打包版本