好的,当我尝试使用这段代码时,从linux命令行调用它:
import bzrlib
from bzrlib.branch import Branch
from bzrlib import log
from bzrlib import repository
import sys
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-r', '--revnum', type=int, metavar='', required=True, help='Baseline revision number')
parser.add_argument('-d', '--directory',type=str, metavar='',required=True,help='Directory that repository in question is located')
args = parser.parse_args()
r1= args.revnum
d1= args.directory
print ''
print 'Directory containing repository: '+ (d1)
print ''
print ("Input revision number: %s" %(r1))
print ''
b = Branch.open (d1)
repository.Repository._find_parent_ids_of_revisions(revision_ids)不管我用什么来代替revison_ids,我都会得到这个错误消息。
must be called with Repository instance as first argument我不知道如何使用这个bzrlib函数,如果我能够让它真正地给我一个输出,它应该做我希望它做的事情。我很感激你的帮助!谢谢!
发布于 2020-06-11 21:14:37
您不应该使用Repository._find_parent_ids_of_revisions --它会在库的不同版本之间发生变化。
相反,请调用Repository.get_revision或Repository.get_parent_map来获取修订的父级。
您可以使用Repository.open调用打开一个存储库(该调用以路径作为参数),或者如果您已经拥有一个分支(如本例中所做的),您可以在“分支”对象上使用“存储库”属性,如下所示:
b = Branch.open(d1)
revid = b.dotted_revno_to_revision((r1, ))
parent_ids = b.repository.get_revision(revid).parent_idshttps://stackoverflow.com/questions/62331036
复制相似问题