Изменение свойств узла 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)
Надеюсь, это кому-нибудь поможет.