From owner-freebsd-questions@FreeBSD.ORG Sat Apr 17 17:32:38 2010 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1BAC9106564A for ; Sat, 17 Apr 2010 17:32:38 +0000 (UTC) (envelope-from perrin@apotheon.com) Received: from outbound-mail-158.bluehost.com (cpoproxy2-pub.bluehost.com [67.222.39.38]) by mx1.freebsd.org (Postfix) with SMTP id DEC218FC12 for ; Sat, 17 Apr 2010 17:32:37 +0000 (UTC) Received: (qmail 4242 invoked by uid 0); 17 Apr 2010 17:32:38 -0000 Received: from unknown (HELO box543.bluehost.com) (74.220.219.143) by cpoproxy2.bluehost.com with SMTP; 17 Apr 2010 17:32:38 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=apotheon.com; h=Date:From:To:Subject:Message-ID:Mail-Followup-To:References:Mime-Version:Content-Type:Content-Disposition:In-Reply-To:User-Agent:X-Identified-User; b=J5Mq7OYdt+X65dfKHUH5KHoI4IaJ62vhS4SE80opOAXOg638WksKQdAMg6HCfxhXtN9XJgD+uWJkk2GJ7GOQhSut8awzrz6JxESJK8vqv8K1N9xf8VcOdUabyhQ0X2V/; Received: from c-24-8-180-234.hsd1.co.comcast.net ([24.8.180.234] helo=kukaburra.hydra) by box543.bluehost.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1O3Bsh-00005p-Us for freebsd-questions@freebsd.org; Sat, 17 Apr 2010 11:32:37 -0600 Received: by kukaburra.hydra (sSMTP sendmail emulation); Sat, 17 Apr 2010 10:31:27 -0600 Date: Sat, 17 Apr 2010 10:31:27 -0600 From: Chad Perrin To: freebsd-questions@freebsd.org Message-ID: <20100417163127.GC5195@guilt.hydra> Mail-Followup-To: freebsd-questions@freebsd.org References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="t0UkRYy7tHLRMCai" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-Identified-User: {2737:box543.bluehost.com:apotheon:apotheon.org} {sentby:smtp auth 24.8.180.234 authed with ren@apotheon.org} Subject: Re: version/revision control software for things mostly not source X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Apr 2010 17:32:38 -0000 --t0UkRYy7tHLRMCai Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Apr 17, 2010 at 06:08:49PM +0300, Dan Naumov wrote: > I think I am reaching the point where I want to have some kind of sane > and easy to use version/revision control software for my various > personal files and small projects. We are talking about varied kind of > data, ranging from binary format game data (I have been doing FPS > level design as a hobby for over a decade) to .doc office documents to > ASCI text formatted game data. Most of the data is not plaintext. So > far I have been using a hacked together mix of things, mostly a > combination of essentially storing each revision of any given file a > separate file001, file002, file003, etc which while easy to use and > understand, seems rather space-inefficient and a little bit of ZFS > snapshotting, however I want something better. >=20 > What would be examples of good version control software for me? The > major things I want are: a simple and easy to use Windows GUI client > for my workstation, so I can quickly browse through different > projects, go back to any given point in time and view/checkout the > data of that point to a Windows machine. Space efficiency, while not > critical (the server has 2 x 2TB drives in RAID1 and can easily be > expanded down the line should the need eventually arise) is obviously > an important thing to have, surely even with binary data some space > can be saved if you have 20 versions of the same file with minor > changes. >=20 > Sadly, FreeBSD's ZFS doesn't have dedup or this functionality would've > been easy to implement with my current hacked together methods. > Performance does't matter all that much (unless we are talking > something silly like a really crazy IO bottleneck), since the only > expected user is just me and perhaps a few friends. If you're looking for local revision management, I think something like Mercurial is an excellent choice. If, however, you're looking more for a system for backing up to a remote computer with revision management included in the package, Subversion may be a better choice. This is because the basic assumption for distributed version control systems like Mercurial (which I love) is that you'll be working on stuff locally and want the ability to move forward and backward through changes, run parallel development branches locally to try out things and compare your results and so on, with occasional reintegration with others' efforts. By contrast, a centralized VCS like Subversion operates on the basic assumption that all your work is intended to be stored on some centralized system, and when you want to commit a particular revision you also want it at that moment to be backed up to that central location. I think this is why Subversion was fairly popular as a simple, manual backup system for a lot of people, while DVCSes like Mercurial tend to be popular more specifically with software developers -- particularly in open source projects. So . . . depending on your particular needs and workflow, I'd say that a centralized VCS and a DVCS are both candidates for "best option" in your case. Note: I use Subversion and Mercurial as my examples because those are the two I generally use and like the most. --=20 Chad Perrin [ original content licensed OWL: http://owl.apotheon.org ] --t0UkRYy7tHLRMCai Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAkvJ4l8ACgkQ9mn/Pj01uKX2gwCeNJY9lKSsXU96NnhKq8uScTnG diUAoKNnQp/KFZ3C8Rayf3jpjqtEZ9l2 =/7X1 -----END PGP SIGNATURE----- --t0UkRYy7tHLRMCai--