如何从gitpython的存储库路径获取变量中Ostream或Oinfo的列表?

2024-09-27 21:27:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前有一个没有packfile的有效git数据库,但是由于git-pack-objects中的一个错误(进程与堆栈转储文件一起崩溃)我无法执行git repack命令。在

我看了一下这个错误,它与官方git项目的C特性有关(修复需要更改核心struct定义),因此,这需要花费大量时间来修复。在

我找到的唯一不使用C的替代方法是gitdb(gitpython的一部分)。但是我无法找到如何使用^{}函数。
或者更确切地说,我不知道如何从松散对象的数据库路径中构建^{}参数。
我甚至不知道^{}列表中使用的确切的类类型。在

那么,如何使用gitdb实现这个目的呢?在


Tags: 文件项目git命令数据库objects官方进程
1条回答
网友
1楼 · 发布于 2024-09-27 21:27:31

解决了!在

#/usr/bin/python
import os,sys,zlib,gitdb
from gitdb.db import LooseObjectDB
from gitdb.pack import PackEntity
from gitdb.util import bin_to_hex,hex_to_bin

ldb=LooseObjectDB(sys.argv[1]+'/.git/objects')
PackEntity.create((ldb.stream(sha) for sha in ldb.sha_iter()),sys.argv[1]+'/.git/objects/pack',object_count=ldb.size(),zlib_compression=zlib.Z_BEST_COMPRESSION)

相关问题 更多 >

    热门问题