您如何使用bzrlib工具箱中的'_find_parent_ids_of_revisions'函数?

问题描述 投票:0回答:1

好,当我尝试使用此代码从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_id,我都会收到此错误消息。

must be called with Repository instance as first argument

我不知道如何利用此bzrlib函数,并且如果可以得到它的实际输出,它应该完全按照我想要的去做。我将不胜感激任何帮助!谢谢!

python linux bazaar
1个回答
0
投票
您不应该使用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_ids

© www.soinside.com 2019 - 2024. All rights reserved.