使用 Python 更改 svn 节点属性会引发 SubversionException

发布于 2024-11-13 16:47:30 字数 582 浏览 1 评论 0原文

当使用 python 更改 svn 节点属性时,使用

svn.fs.change_node_prop(root, path, "thisisa:property", "andthisisavalue") 

会引发异常,并显示消息“svn.core.SubversionException: ('根对象必须是事务根', 160022)”

root 是这样创建的:

canon_path = svn.core.svn_path_canonicalize(repos_path)
repos_ptr = svn.repos.open(canon_path)
fsob = svn.repos.fs(repos_ptr)
headrev = svn.fs.youngest_rev(fsob)
root = svn.fs.revision_root(fsob, headrev)

并且路径是目录路径,像“proyect/a/directory”

我在python中找不到关于svn模块的文档,所以我不知道如何解决这个问题。

你能帮我解决这个问题吗?

谢谢。

When changing a svn node property with python, using

svn.fs.change_node_prop(root, path, "thisisa:property", "andthisisavalue") 

raises an exception with the message "svn.core.SubversionException: ('Root object must be a transaction root', 160022)"

root is made with this:

canon_path = svn.core.svn_path_canonicalize(repos_path)
repos_ptr = svn.repos.open(canon_path)
fsob = svn.repos.fs(repos_ptr)
headrev = svn.fs.youngest_rev(fsob)
root = svn.fs.revision_root(fsob, headrev)

and path is a directory path, like "proyect/a/directory"

I can't find the documentation about svn module in python, so I don't know how to solve this.

Can you help me with this?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

关于从前 2024-11-20 16:47:30

我错误地使用 root 作为头修订根。

我需要开始一个提交事务并获取它的事务根。

为了做到这一点,我做了,

txn = svn.repos.fs_begin_txn_for_commit(repos_ptr, headrev, SVN_COMMIT_USER, SVN_COMMIT_MESSAGE)
root = svn.fs.txn_root(txn)

希望这对任何人都有帮助。

I was wrong using root as the head revision root.

I needed to begin a transaction for commit and get it's transaction root.

For doing this I made,

txn = svn.repos.fs_begin_txn_for_commit(repos_ptr, headrev, SVN_COMMIT_USER, SVN_COMMIT_MESSAGE)
root = svn.fs.txn_root(txn)

Hope this helps to anyone.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文