From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <gentoo-user+bounces-160276-garchives=archives.gentoo.org@lists.gentoo.org> Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 985051389E2 for <garchives@archives.gentoo.org>; Sat, 29 Nov 2014 17:21:39 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C05FBE0887; Sat, 29 Nov 2014 17:21:33 +0000 (UTC) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id ADA87E087F for <gentoo-user@lists.gentoo.org>; Sat, 29 Nov 2014 17:21:32 +0000 (UTC) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id F2495205B5 for <gentoo-user@lists.gentoo.org>; Sat, 29 Nov 2014 12:21:31 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute5.internal (MEProxy); Sat, 29 Nov 2014 12:21:31 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=x-sasl-enc:message-id:date:from :mime-version:to:subject:references:in-reply-to:content-type :content-transfer-encoding; s=smtpout; bh=exFLPn3PupZ/5SQJGgGXAo Q5H6I=; b=oscYENBNy2kNfOr8UXZYk12nfz6KsXeLn57aqhG30RfOZq2BOCtDqb a19c6g1RVL2bWcGflWNvE8VL2Rpv6CIyX4PeDi1VVzaX+Bigkd6aY5qBAZzO9Uow GwgB8lVFa01i3hMfRJJOWTmSly0+Hrq+rMSjmwNJhOX2AticPrrcQ= X-Sasl-enc: 8rEkTwQo2dNVQ//3p5lZia/PAt/9c4fRMqpK1Zc9RKls 1417281691 Received: from [192.168.0.11] (unknown [71.10.136.247]) by mail.messagingengine.com (Postfix) with ESMTPA id 8BC8968014A for <gentoo-user@lists.gentoo.org>; Sat, 29 Nov 2014 12:21:31 -0500 (EST) Message-ID: <547A009E.1060704@alectenharmsel.com> Date: Sat, 29 Nov 2014 12:21:34 -0500 From: Alec Ten Harmsel <alec@alectenharmsel.com> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 Precedence: bulk List-Post: <mailto:gentoo-user@lists.gentoo.org> List-Help: <mailto:gentoo-user+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-user+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-user+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-user.gentoo.org> X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 To: gentoo-user@lists.gentoo.org Subject: Re: [gentoo-user] Re: Gentoo's future directtion ? References: <CAGfcS_=aWJV0MSTJcyNmW3ue66hDdD8LOWmBxj24Wcshcjj+sA@mail.gmail.com> <54764D1E.1080201@xunil.at> <CAGfcS_=x7po1jH_7SXRiVZk=k-ARymrGKoSyt3tC+LD4AFgvcQ@mail.gmail.com> <54768398.60701@yourstruly.sx> <CAGfcS_ngxn2MxLETDngc4c7KQem5V9FYPD2w5L9P+LsbWUjM9A@mail.gmail.com> <547689B4.6010606@yourstruly.sx> <5476A3B1.1050403@gentoo.org> <m56q8s$l8m$1@ger.gmane.org> <5478A482.2030203@gentoo.org> <m5brej$h19$1@ger.gmane.org> <20141129142815.GB3752@acm.acm> In-Reply-To: <20141129142815.GB3752@acm.acm> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Archives-Salt: 37ec32a3-1ce1-41cd-b25d-02700221033e X-Archives-Hash: 54aa1866f61896c7fb77eaec3ac6c7e7 On 11/29/2014 09:28 AM, Alan Mackenzie wrote: > Speaking as a developer in a project which has just converted to git, I > can assure you that git has tremendous disadvantages, even compared with > cvs. It depends; they do different things. Depending on what I'm working on, I use either subversion or git; neither is inherently better all the time. > > Principally, git does not have a high level model of version control > concepts, so that using git is somewhat analogous to programming in > assembler. Both give you tremendous control and the ability to do > practically anything, including shooting yourself in the foot. So that > instead of conceptualising a "branch" (as you would do with Mercurial, > Bazaar, Subversion, or even CVS), you need to think about "commits > reachable from a certain head (excluding commits reachable from some > other head)". As far as I can tell, git has a very clear concept of branching. Fast branching was one of the biggest design points in git[1], and they did it by merely making branches pointers to avoid unnecessary copying. So yes, a branch is "commits reachable from a certain HEAD", but conceptually this is the same as other branching models even though it may not be implemented the same way. > git is very difficult to learn, compared with, say Mercurial. To > compare, if you do $ git help branch, you get a man page ~180 lines long > dumped on you, and that's taking up the full width of my 240 character > wide screen. If you do $ hg help branch, you get a 27 line concise > summary, max. ~80 characters wide, which nonetheless is pretty much > complete. > > git has become very popular (much as systemd has), possibly because > programmers are frustrated at not being able to write in assembler any > more. (At least, that's my theory). Like systemd, it has established a > stranglehold on its domain. But severe disadvantages it most definitely > has. > git is extremely popular, which could be a factor in its difficulty; I'm guessing it's had a lot more development hours (and more obscure features) put into it. git is popular because it solved (and still solves) a problem (distributed, parallel development) that at the time was not solved by any other open source DVCS except Mercurial. Both projects started around the same time, and I would imagine that having the Linux kernel team backing git was a compelling reason to choose git over Mercurial. Early on, iirc git was also faster since mercurial uses diffing, not snapshots, and is written in Python. I highly recommend Scott Chacon's "Pro Git": http://git-scm.com/book/en/v2 Alec [1] http://git-scm.com/book/en/v2/Getting-Started-A-Short-History-of-Git