Изменение свойств узла SVN с Python вызывает SubversionException

При изменении свойства узла SVN с помощью Python, используя

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

вызывает исключение с сообщением "svn.core.SubversionException: (" Корневой объект должен быть корнем транзакции ", 160022)"

корень сделан с этим:

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"

Я не могу найти документацию по модулю SVN в Python, поэтому я не знаю, как решить эту проблему.

ты можешь помочь мне с этим?

Спасибо.

1 ответ

Решение

Я был неправ, используя root в качестве основной ревизии root.

Мне нужно было начать транзакцию для коммита и получить его корень транзакции.

Для этого я сделал,

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

Надеюсь, это кому-нибудь поможет.

Другие вопросы по тегам