Hi, Julian, Nice work. I think that CODESYS SVN could profit from this, as we use properties on nearly every file to store our metadata.
Now I only need to hack (or convice Bert :-) to expose those APIs in SharpSVN. :-) Best regards Markus Schaber CODESYS® a trademark of 3S-Smart Software Solutions GmbH Inspiring Automation Solutions 3S-Smart Software Solutions GmbH Dipl.-Inf. Markus Schaber | Product Development Core Technology Memminger Str. 151 | 87439 Kempten | Germany Tel. +49-831-54031-979 | Fax +49-831-54031-50 E-Mail: m.scha...@codesys.com | Web: http://www.codesys.com CODESYS internet forum: http://forum.codesys.com Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915 > -----Ursprüngliche Nachricht----- > Von: Julian Foad [mailto:julianf...@btopenworld.com] > Gesendet: Freitag, 21. Dezember 2012 00:43 > An: Subversion Development > Betreff: Re: Work in progress: WC "add node" including the props > > I (Julian Foad) wrote: > > "Teach some WC and client 'add' functions to take the properties as a > > parameter so that the whole addition including any properties can be > > done all at once. ..." > > I finished this and committed it in <http://svn.apache.org/r1424739>. > > I did this because of the update-move work: that needs more "regular" APIs > to both read and write nodes in the DB. As in we should be able to read > "a node" including (a reference to) its text and its props in one > call. And similarly write "a node" in one call. > > Afterwards, I ran a test to see whether this makes a noticeable speed > difference to "svn add", just as a curiosity -- I don't really care about > that and that wasn't any part of my goal. Speed freaks may be interested > in the outcome. In an unrealistic manual test, I put an unversioned > export of the svn trunk inside an otherwise empty WC, and ran "svn add" > with 25 auto-props defined on every file. > > $ time svn add wc/tree/ --config-option='config:miscellany:enable-auto- > props=1' --config-option='config:auto- > props:*=a=a;b=b;c=c;d=d;e=e;f=f;g=g;h=h;i=i;j=j;k=k;l=l;m=m;n=n;o=o;p=p;q= > q;r=r;s=s;t=t;u=u;v=v;w=w;x=x;y=y' > > pre-patch post-patch > real 0m7.00s 0m1.13s > user 0m5.65s 0m0.72s > sys 0m0.97s 0m0.32s > > This is expected because the patch eliminates the add-one-property-at-a- > time-to-the-db loop. > > Without any auto-props: > > $ time svn add -q wc/tree/ > pre-patch post-patch > real 0m1.16s 0m0.92s > user 0m0.78s 0m0.62s > sys 0m0.35s 0m0.29s > > This was on my Ubuntu 10.10 system, ext3 FS on a spinning disk. Timings > approx +/- 15%, averaged by eye from 3 runs. > > - Julian