On Saturday, August 09, 2014 10:50:11 PM Alexey Neyman wrote: > 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.
Correction: "unless that node's ancestor is already modified". More: if I read back the node property immediately after changing it, the new value is returned by fs.node_prop even in 1.7/1.8. However, when the transaction is turned into a revision - the changed value is lost. Also, the dump in 1.7/1.8 still shows the node as modified - but has no modifications reported on it: [[[ Revision-number: 2 Prop-content-length: 105 Content-length: 105 K 10 svn:author V 7 aneyman K 8 svn:date V 27 2014-08-10T16:11:08.311598Z K 7 svn:log V 4 test PROPS-END Node-path: baz Node-kind: dir Node-action: change Prop-content-length: 22 Content-length: 22 K 1 x V 1 y PROPS-END Node-path: foo/bar Node-kind: file Node-action: change ]]] How come the node is marked as changed, but the changes are lost? Regards, Alexey. > > 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.