From owner-freebsd-stable@FreeBSD.ORG Sun Mar 31 10:08:47 2013 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 5231E591 for ; Sun, 31 Mar 2013 10:08:47 +0000 (UTC) (envelope-from markiyan.kushnir@gmail.com) Received: from mail-ee0-f42.google.com (mail-ee0-f42.google.com [74.125.83.42]) by mx1.freebsd.org (Postfix) with ESMTP id CA13B3F1 for ; Sun, 31 Mar 2013 10:08:46 +0000 (UTC) Received: by mail-ee0-f42.google.com with SMTP id b47so735465eek.29 for ; Sun, 31 Mar 2013 03:08:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type; bh=xuZSancFPMpenbU0CB1+QCkRCEA3MsnGStRTKtCwaQA=; b=wgR9488rubVZs2Xo9DsTchjdi3k7zzf2SZrVYRPXX+ILjCA1DFYChOTH7B3SoPp70r 8hpFYDb1SLXB9mm2mCJmIASyFeKTl3FBfgR1gD5vL1tEIXMTK1V6E8JrS/OX0k4X47TJ Miq2uyLJosm0yvJtNKGvtWen9ZM1srkprZRNvViyskkUmgrZasQFhTIUF8Sbsf/7jsm0 cPq8wRqYi41dHI4jVZS1IK1vCJM0w2WkS1FuQDXPE9staTSlwzfBtGea6qtpqj49KCSw kEZLILMjCuGFjv0K4gM+HWnaxtbNqWr3ODEz22z9HctrVI/0YNu0pox4XGigtQ7kKv48 /aMA== X-Received: by 10.15.23.193 with SMTP id h41mr26226638eeu.17.1364724520062; Sun, 31 Mar 2013 03:08:40 -0700 (PDT) Received: from mkushnir.zapto.org (159-73-132-95.pool.ukrtel.net. [95.132.73.159]) by mx.google.com with ESMTPS id bc1sm14651561eeb.11.2013.03.31.03.08.38 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 31 Mar 2013 03:08:39 -0700 (PDT) Message-ID: <51580AD1.1070704@gmail.com> Date: Sun, 31 Mar 2013 13:07:13 +0300 From: Markiyan Kushnir User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:16.0) Gecko/20121119 Thunderbird/16.0.2 MIME-Version: 1.0 To: freebsd-stable@freebsd.org Subject: Re: svn - but smaller? References: <513E2DA5.70200@mac.com> <514E7927.2010901@gmail.com> <51580718.1010501@gmail.com> In-Reply-To: <51580718.1010501@gmail.com> Content-Type: multipart/mixed; boundary="------------010900030808000201030405" X-Content-Filtered-By: Mailman/MimeDel 2.1.14 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 31 Mar 2013 10:08:47 -0000 This is a multi-part message in MIME format. --------------010900030808000201030405 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi John, I also measured svnup basic process resource usage, attaching a complete plot (measurements were taken each 2 seconds based on ps(1) and procstat(1)). Hopefully it will help you as well. -- Markiyan. On 31.03.2013 12:51, Markiyan Kushnir wrote: > On 25.03.2013 02:55, John Mehr wrote: >> >> >> >> On Sun, 24 Mar 2013 05:55:19 +0200 >> Markiyan Kushnir wrote: >>> Hello John, >>> >>> Tested svnup for a while, and I can say it does its job well, and >>> works basically as I would expect, so thanks for your initiative. >>> Although it appears to be quite resource greedy. Most of the time it >>> showed something like: >>> >>> PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU >>> COMMAND >>> 22270 mkushnir 1 102 0 44944K 31804K CPU0 1 6:22 97.56% >>> a.out >>> >>> >>> I looked at the source code, and found that it uses svn commands that >>> are known as the "main command set". The program is implemented around >>> get-dir and get-file. I think there is significant room for resource >>> and performance improvement. >>> >>> Have you considered an approach to use what svn folks call the editor >>> command set? I mean acting as a trivial svn client: we might ask the >>> server to drive our checking out or updating. The server will be >>> telling us only diffs. Checking out a full tree would be just another >>> diff, although bigger than usually. We would also benefit from >>> compression on the wire. >>> >>> Another advantage would be to always have consistent repo more-or-less >>> guaranteed by the svn server. >>> >>> I've done some proof of concept recently, and the results look >>> encouraging to me. For example, a do-nothing update really does >>> nothing. A two-or-three revisions update takes a couple of seconds. >>> And a full checkout of the base/stable/9 takes ~7m30s at 530kB/s to me. >> >> Hello, >> >> The results I was getting from testing out the svn protocol's editor >> command set were unpleasant enough to put it into the "come back to this >> later" category while I worked on implementing the http/https side. The >> good news it that the http side is *much* easier to work with in this >> respect and getting a report with filenames and MD5/SHA-1 signatures for >> all of the files in the repository can be obtained all at once. I >> should have a new and improved version ready to go this weekend or early >> next week at the latest. > > Hi again! > > Yes, I agree that svn editor needs quite a bit of effort. I was actually > encouraged to break this challenge, and made my own svnup based on > svndiff. If you are interested in details, you may find it on github.com > under mkushnir/mrksvnup. It's a complete app, although you may use or > re-use (parts of) it if you want. > > I also tested your svnup more and found that it doesn't handle symbolic > links well. (May be you have already been aware of it.) > > I would suggest to test svnup against official svn client. Here is > briefly what I'm doing to test my own svnup: > > # svn co -r NNNNNN svn://svn.freebsd.org/base/head head.svn > # svnup -u svn://svn.freebsd.org/base/head -r NNNNNN -l head.svnup > # diff -r head.svnup/ head.svn | egrep -v 'FreeBSD|\-\-\-|^diff > \-r|^[0-9]+c[0-9]+' > > The diff output must be clean. > > > -- > Markiyan. > > >> _______________________________________________ >> freebsd-stable@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-stable >> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" > --------------010900030808000201030405--