【发布时间】:2019-07-03 10:04:38
【问题描述】:
拥有稀疏检出的工作树,
我希望解析完整的 git 对象,
为了能够更新稀疏.git/info/sparse-checkout,
基于一些业务逻辑(这里不应该相关)。
我试图找到一个将“未解析”签出到临时文件夹的命令。 我想知道,我是否甚至可以在不结帐的情况下从 git 对象中读取内容。
尝试构建一个模块图形
def _find_addons(dir):
""" yield (addon_name, addon_dir, manifest) """
for root, _, files in os.walk(dir):
if ".git" in root:
continue
if any(s in root for s in SKIP_PATHS):
continue
if any(M in files for M in MANIFEST_NAMES):
yield os.path.dirname(root), os.path.basename(root), _read_manifest(root)
完整代码:
https://github.com/xoe-labs/odooup/blob/master/odooup/_modulegraph.py
【问题讨论】:
-
git CLI 中用于从 blob 获取对象的相关命令(不确定如何/是否对您在 python 上下文中的需求有用,但仍然如此)是cat-file,尤其是@987654325 @ 旗帜。顺便提一下。
标签: git sparse-checkout