Sorry I'm gunna be a bit slow here, Philip, but you're saying that sequence of four is a single atomic commit in Subversion?
- Paul On Thu, Jul 13, 2017 at 7:48 AM, Philip Martin <phi...@codematters.co.uk> wrote: > Philip Martin <phi...@codematters.co.uk> writes: > > > The fact that the create is faster than the update means that if > > uploading the data is the only thing that matters then breaking the > > history and changing the update into a delete+recreate is faster, i.e. > > > > svnmucc -mm -U http://localhost/repo put u1.dat svn.dat > > svnmucc -mm -U http://localhost/repo rm svn.dat put u2.dat svn.dat > > svnmucc -mm -U http://localhost/repo rm svn.dat put u3.dat svn.dat > > > > The delete+recreate takes the same 5.2s as the original create and is > > faster than curl's 6.7s update. > > Even faster is to use curl to talk DAV: > > curl -XPOST -H 'Content-Type: application/vnd.svn-skel' -d @post.txt \ > 'http://localhost/repo/!svn/me' > curl -XDELETE 'http://localhost/repo/!svn/txr/1-1/svn.dat' > curl -T u2.dat 'http://localhost/repo/!svn/txr/1-1/svn.dat' > curl -XMERGE -d @merge.txt http://localhost/repo > > which takes 4.3s, more or less the same as the 4.2s curl create. > > Note I have cheated here: I knew the txn name in advance while a real > implementation would need to parse the POST response and adjust the > subsequent requests. > > svnmucc is implemented on top of the delta editor, I don't know how easy > it would be to get it to send a plain PUT rather than a delta. > > -- > Philip >