一个自动使用--reference来节省时间和空间的git clone包装器。
项目描述
一个自动使用–reference来节省磁盘空间和下载时间的git clone包装器。
安装
要以优雅的方式安装git-autoshare,我们推荐使用pipx。
安装pipx后,只需运行
$ pipx install git-autoshare
要随时升级git-autoshare
$ pipx upgrade git-autoshare
如果您想使git autoshare-clone在git clone的位置透明调用,创建以下bash脚本,命名为git,并将其放置在PATH中,在/usr/bin/git之前
#!/bin/bash if [ "$1" == "clone" ] then shift /usr/bin/git autoshare-clone "$@" else /usr/bin/git "$@" fi
使用方法
配置文件
要配置它,请在用户配置目录中创建一个名为 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,其中 appdirs.user_cache_dir 是(通常是 ~/.cache/git-autoshare/)。此位置可以通过 GIT_AUTOSHARE_CACHE_DIR 环境变量进行配置。
默认配置文件名为 repos.yml,其中 appdirs.user_config_dir 是(通常是 ~/.config/git-autoshare/)。此位置可以通过 GIT_AUTOSHARE_CONFIG_DIR 环境变量进行配置。
默认情况下,git-autoshare 将 git 作为 /usr/bin/git 调用。这可以通过 GIT_AUTOSHARE_GIT_BIN 环境变量进行配置。
在启动测试时使用环境变量(以避免配置检索问题):GIT_AUTOSHARE_MODE。它只接受一个值:'test'。
致谢
作者
Stéphane Bidoul (ACSONE)
贡献者
Simone Orsi (Camptocamp)
Mykhailo Panarin
Stéphane Mangin
维护者
此项目由 ACSONE SA/NV 维护。
变更
1.0.0b6 (2022-02-26)
- 修复了 Git_AUTOSHARE_MODE 环境变量成为必要的回归问题 
1.0.0b5 (2022-01-26)
- 在 git-autoshare-prefetch 中支持组织通配符 
- 仅支持 python >= 3.6(尚未进行代码更改,仅停止测试) 
1.0.0b4 (2019-07-14)
- 支持 ssh:// url,删除对 giturlparse 的依赖 
1.0.0b3 (2019-07-13)
- 在克隆之前始终预取缓存,以确保定期更新缓存 
1.0.0b2 (2019-03-17)
- 添加子模块添加命令 
- 使用 safe_load 解析配置 
- 允许在配置中使用通配符 
- 内部重构 
1.0.0b1 (2018-01-07)
- 支持私有存储库 
- 改进了预取中的远程处理 
- 使用 –prun 预取 
1.0.0a2 (2017-10-10)
- 第一个打包版本 
项目详情
git-autoshare-1.0.0b6.tar.gz的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | d1dff471af5c8f30676362aa84b6d70c0aedbcc6b57a02e2c84dd4d5062bed7a | |
| MD5 | 36e571a57fddca25223f3d9a16550a93 | |
| BLAKE2b-256 | 5753237567eae8dfb8679e13dcfe62771e4ef82407e0251cc21e5aed6d0f7e5f | 
git-autoshare-1.0.0b6-py2.py3-none-any.whl的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | f44cd4f0a9457b5ac67f995274babae6485b46893a2f98e39935e831603bbacc | |
| MD5 | 1fcd4ac51af48f75f372d61b986a216a | |
| BLAKE2b-256 | 61c2f4467b712e0249bf9b45dd6100b7497d688ddb609605dccea92f3a1c11df |