Hi Subversion developers,

I am trying to migrate some scripts from 1.6 server that we're currently 
running to a newer SVN version, and encountered something that looks like 
a bug: with 1.7/1.8 the fs.change_node_prop (in Python bindings) is no 
longer able to modify a node's properties unless that node is already 
modified in the transaction being handled.

A reproduction script is attached. It yields PASS on 1.6.11 and FAILs on 1.7.8 
and 1.8.8.

Is it by design, or a regression? If it is by design - what is the proper way 
to 
modify a node in a transaction in the newer Subversion?

Regards,
Alexey.
#!/usr/bin/python

from optparse import OptionParser
from svn import core, fs, repos

def execute(pool, repos_path, txn):
    fs_ptr = repos.fs(repos.open(repos_path, pool))
    txn_ptr = fs.open_txn(fs_ptr, txn, pool)
    txn_root = fs.txn_root(txn_ptr, pool)
    if fs.check_path(txn_root, "/foo/bar", pool) != core.svn_node_none:
        fs.change_node_prop(txn_root, "/foo/bar", "myprop", txn, pool)

if __name__ == '__main__':
    parser = OptionParser()
    o, a = parser.parse_args()
    core.run_app(execute, a[0], a[1])

Attachment: v.sh
Description: application/shellscript

Reply via email to