On Mon, Mar 1, 2010 at 7:42 PM, C. Michael Pilato <cmpil...@collab.net> wrote: > C. Michael Pilato wrote: >> Ryan Schmidt wrote: >>>> Did I miss something in the original problem description? Is that >>>> precisely >>>> what is being attempted here and yet it's not working? >>> That is my understanding: >>> >>> On Fri, 2010-02-26 at 22:15 -0800, Alexey Neyman wrote: >>>> It seems that I encountered a bug in 'svnlook pl --revprop': it fails with >>>> the following message: >>>> >>>> $ svnlook pl --revprop -t 10547-86b /svn/test-svn >>>> svnlook: Invalid revision number '-1' >>> I can replicate this error message with svn 1.6.9 on Mac OS X. "svnlook >>> pl -t" works fine, but "svnlook pl --revprop -t" complains that revision >>> number >>> '-1' is invalid, though I specified a correct in-progress transaction >>> number. >> >> Okay -- sorry for the noise, then. That was my fault for not parsing the >> conversation correctly. >> >> Yes, this I believe this is a bug. (I'll even grant that using an option >> named "--revprops" does nothing for the illusion that revisions aren't >> really just "special transactions".) > > I think the attached patch fixes this, and I plan to commit as much after > some more testing. > > -- > C. Michael Pilato <cmpil...@collab.net> > CollabNet <> www.collab.net <> Distributed Development On Demand > > * subversion/svnlook/main.c > (do_plist): Correctly handle invocations of 'svnlook plist --revprop' when > used with '-t TXN_NAME' instead of '-r REV'. > > Reported by: Alexey Neyman <stilor{_AT_}att.net> > --This line, and those below, will be ignored-- > > Index: subversion/svnlook/main.c > =================================================================== > --- subversion/svnlook/main.c (revision 916775) > +++ subversion/svnlook/main.c (working copy) > @@ -1685,11 +1685,16 @@ > SVN_ERR(verify_path(&kind, root, path, pool)); > SVN_ERR(svn_fs_node_proplist(&props, root, path, pool)); > } > - else > + else if (c->is_revision) > { > SVN_ERR(svn_fs_revision_proplist(&props, c->fs, c->rev_id, pool)); > revprop = TRUE; > } > + else > + { > + SVN_ERR(svn_fs_txn_proplist(&props, c->txn, pool)); > + revprop = TRUE; > + } > > if (xml) > { > @@ -1703,8 +1708,16 @@ > if (revprop) > { > /* "<revprops ...>" */ > - svn_xml_make_open_tag(&sb, pool, svn_xml_normal, "revprops", > - "rev", revstr, NULL); > + if (c->is_revision) > + { > + svn_xml_make_open_tag(&sb, pool, svn_xml_normal, "revprops", > + "rev", revstr, NULL); > + } > + else > + { > + svn_xml_make_open_tag(&sb, pool, svn_xml_normal, "revprops", > + "txn", c->txn_name, NULL); > + } > } He, thanks for also fixing the XML part. I was in fact, working on a regression test, as none of the svnlook options seem to be tested on transactions.
I'll commit the test when I'm finished and add it to your backport proposal. Lieven