gpt4 book ai didi

python - sccs2svn 转换后版本信息不匹配

转载 作者:太空狗 更新时间:2023-10-30 01:35:17 24 4
gpt4 key购买 nike

我正在尝试将现有的 SCCS 存储库转换为 SVN 格式,并且我一直在使用推荐的 sccs2svn python 脚本。但是,它似乎正在“改组”修订信息,如下所示:

SCCS prt 给出:

 revision 5, date 5, author 5, comment 5 revision 4, date 4, author 4, comment 4 revision 3, date 3, author 3, comment 3 revision 2, date 2, author 2, comment 2 revision 1, date 1, author 1, comment 1

SVN 日志给出:

revision 8, today's date, today's author, comment = 'Automated keyword replacement'revision 7, date 5, today's author, comment = 'Automated property set'revision 6, today's date, author 5, comment 5revision 5, date 5, author 4, comment 4revision 4, date 4, author 3, comment 3revision 3, date 3, author 2, comment 2revision 2, date 2, author 1, comment 1revision 1, date 1, author 1, comment 1

在我开始深入研究 sccs2svn.py 之前,有没有人遇到过这个问题?

最佳答案

SonyaH 在问题中发布了这个,这里是一个清理过的答案:

run() 中存在一个差一错误。这段代码:

mergedVersions = [[versions[0]]]
i = 0
while i < len(versions):
if versions[i].match(mergedVersions[-1][-1]):
mergedVersions[-1].append(versions[i])
else:
mergedVersions.append([versions[i]])
i += 1

如果替换为

效果会更好
mergedVersions = [[versions[0]]]
for v in versions([1:]):
if v.match(mergedVersions[-1][-1]):
mergedVersions[-1].append(v)
else:
mergedVersions.append([v])

此外,SVNInterface 类中的_commit 方法也有问题。它更改最新修订号(如 sccs2svn 所知)的日期,然后提交该修订版。不幸的是,sccs2svn 从零开始计算其修订号,而 Subversion 从 1 开始计数。因此,如果您按如下方式颠倒函数调用的顺序,现在一切都匹配了:

def _commit(self, rev, date, txn, subpool):
svn_rev = repos.svn_repos_fs_commit_txn(self.repos_ptr, txn, subpool)
fs.change_rev_prop(self.fsob, svn_rev, core.SVN_PROP_REVISION_DATE,
date, subpool)
return svn_rev

关于python - sccs2svn 转换后版本信息不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6227489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com