Received: from spf1.us4.outblaze.com (spf1.us4.outblaze.com [205.158.62.23]) by sdf.lonestar.org (8.12.10/8.12.10) with ESMTP id iB61St9E021401 for ; Mon, 6 Dec 2004 01:28:56 GMT Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by spf1.us4.outblaze.com (Postfix) with ESMTP id AF04D53B3A for ; Mon, 6 Dec 2004 01:28:59 +0000 (GMT) Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1Cb7qA-0007f8-Of for migo@homemail.com; Sun, 05 Dec 2004 20:39:02 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1Cb7pe-0007bQ-06 for gnu-arch-users@gnu.org; Sun, 05 Dec 2004 20:38:30 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1Cb7pa-0007a2-Tb for gnu-arch-users@gnu.org; Sun, 05 Dec 2004 20:38:28 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1Cb7pa-0007Yz-Ox for gnu-arch-users@gnu.org; Sun, 05 Dec 2004 20:38:26 -0500 Received: from [129.255.60.186] (helo=ct.radiology.uiowa.edu) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Cb7fL-0003yg-B3 for gnu-arch-users@gnu.org; Sun, 05 Dec 2004 20:27:51 -0500 Received: from [192.168.1.11] (12-217-241-0.client.mchsi.com [12.217.241.0]) by ct.radiology.uiowa.edu (8.11.6/8.11.6) with ESMTP id iB61Ri332743; Sun, 5 Dec 2004 19:27:44 -0600 Message-ID: <41B3B589.8010309@arbash-meinel.com> Date: Sun, 05 Dec 2004 19:27:37 -0600 From: John A Meinel User-Agent: Mozilla Thunderbird 0.9 (Windows/20041103) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Andrew Suffield Subject: Re: [Gnu-arch-users] Arch Versus CVS Versus Subversoin References: <20041205000613.PNEI7152.lakermmtao09.cox.net@nonerjsnum1tkq> <41B376B4.2060605@arbash-meinel.com> <20041206010853.GA2799@suffields.me.uk> In-Reply-To: <20041206010853.GA2799@suffields.me.uk> X-Enigmail-Version: 0.89.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Cc: gnu-arch-users@gnu.org X-BeenThere: gnu-arch-users@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: a discussion list for all things arch-ish List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0972529019==" Sender: gnu-arch-users-bounces+migo=homemail.com@gnu.org Errors-To: gnu-arch-users-bounces+migo=homemail.com@gnu.org Status: RO Content-Length: 3947 Lines: 119 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --===============0972529019== Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig8CF3EE9C248370C1F5900CE5" This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig8CF3EE9C248370C1F5900CE5 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Andrew Suffield wrote: > On Sun, Dec 05, 2004 at 02:59:32PM -0600, John A Meinel wrote: > >>Arch does not support binary diff in the subversion sense. > > > Nonsense, it works just fine. > No. In subversion, if you have a binary file, and you make changes, it only stores the changes to the file. (something like xdelta). So if you have a binary file that is 100k long, and you append 10k to it, the changeset that is stored in the archive is only ~10k in size. (I think the same is true if you modify only 10k of the file.) However, with arch, if a file is declared binary and it is considered to be changed, then a completely new copy of the file is added to the repository. Actually, I just checked, and 2 new copies are added to the repository, the old version, and the new one. Here are the steps to reproduce: $ mkdir binary $ cd binary $ tla init-tree binary--dev--0 $ cp ~/image.png . $ tla add image.png $ tla import -S $ dd if=/dev/zero bs=1000 count=10 >> image.png $ tla changes Mb image.png $ tla commit -s "modified the binary." $ tar xvzf $ARCHIVE/binary/binary--dev/binary--dev--0/patch-1/binary--dev--0--patch-1.patches.tar.gz $ cd binary--dev--0--patch-1.patches/patches $ ll -rw-r--r-- 1 jfmeinel users 29632 Dec 5 19:16 image.png.modified -rw-r--r-- 1 jfmeinel users 19632 Dec 5 19:16 image.png.original This is most definitely NOT what the original poster was meaning by "binary diff". Arch handles binary files, it does very well with them. But it *does not* just store the differences. It actually stores 2 whole copies for any change, just so you can compute the difference yourself if you so choose. > >>In general, to do appropriate binary diffs, you must know the file >>format, and have an intelligent diff program. > > > That's not a binary diff. That's some other format-specific diff. > > >>I think the reason people want binary diff (it's why I wanted it) was to >>decrease the amount of space used in the archive. > > > Compression is not related in any way. > compression is not binary diff. True. But the reason people want binary diff is so that when you have your 10MB Word document, and you change 2 lines in it, when you do the commit it doesn't have to upload 10MB of data. In arch's case, it actually will upload about 20MB of data. (It will compress first, but that is a different subject.) However, since arch does compression, you should get pretty good compression. In fact, if your files are small enough, you should get great compression if one is mostly just a copy of the other one. John =:-> --------------enig8CF3EE9C248370C1F5900CE5 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (Cygwin) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFBs7WNJdeBCYSNAAMRAlBKAKCV8efXw8NFFZhWh/lfrJVsMBtFUwCfSKpp pVkIS0VAr70OI0gpxatqw/I= =10uY -----END PGP SIGNATURE----- --------------enig8CF3EE9C248370C1F5900CE5-- --===============0972529019== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Gnu-arch-users mailing list Gnu-arch-users@gnu.org http://lists.gnu.org/mailman/listinfo/gnu-arch-users GNU arch home page: http://savannah.gnu.org/projects/gnu-arch/ --===============0972529019==--