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