From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stephen J. Turnbull" Newsgroups: gmane.emacs.devel Subject: Re: PROPOSAL: Move to git, now that bzr is no longer a req. Date: Sat, 04 Jan 2014 05:15:24 +0900 Message-ID: <87ha9kkejn.fsf@uwakimon.sk.tsukuba.ac.jp> References: <20140102095347.6834E381D0C@snark.thyrsus.com> <87fvp6bdd9.fsf_-_@ktab.red-bean.com> <83wqiixqbb.fsf@gnu.org> <83ob3uxfr2.fsf@gnu.org> <87wqihdxsw.fsf@bzg.ath.cx> <83y52xw4bh.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-Trace: ger.gmane.org 1388780142 27938 80.91.229.3 (3 Jan 2014 20:15:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 3 Jan 2014 20:15:42 +0000 (UTC) Cc: emacs-devel@gnu.org To: Antonio Nikishaev Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 03 21:15:48 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VzB9m-0005mh-MK for ged-emacs-devel@m.gmane.org; Fri, 03 Jan 2014 21:15:46 +0100 Original-Received: from localhost ([::1]:51655 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VzB9m-0005sx-4G for ged-emacs-devel@m.gmane.org; Fri, 03 Jan 2014 15:15:46 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42955) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VzB9a-0005sq-OE for emacs-devel@gnu.org; Fri, 03 Jan 2014 15:15:42 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VzB9T-0001aK-Cz for emacs-devel@gnu.org; Fri, 03 Jan 2014 15:15:34 -0500 Original-Received: from mgmt2.sk.tsukuba.ac.jp ([130.158.97.224]:55369) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VzB9S-0001ZK-R8 for emacs-devel@gnu.org; Fri, 03 Jan 2014 15:15:27 -0500 Original-Received: from uwakimon.sk.tsukuba.ac.jp (uwakimon.sk.tsukuba.ac.jp [130.158.99.156]) by mgmt2.sk.tsukuba.ac.jp (Postfix) with ESMTP id BBCD1970A0A; Sat, 4 Jan 2014 05:15:24 +0900 (JST) Original-Received: by uwakimon.sk.tsukuba.ac.jp (Postfix, from userid 1000) id B01E91A26F6; Sat, 4 Jan 2014 05:15:24 +0900 (JST) In-Reply-To: X-Mailer: VM undefined under 21.5 (beta34) "kale" 2a0f42961ed4 XEmacs Lucid (x86_64-unknown-linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 130.158.97.224 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:167224 Archived-At: Antonio Nikishaev writes: > There is hg. It's pretty popular. True, but it doesn't have the momentum of git. > (And it has nice ui and far less wtfs than git) Git has not WTF'ed me since the first week I used it. But then, I thought the concept was cool and read the whole theory of operations part of the old man page (several times until I understood it). Most developers don't want to do that, which is not a problem. But many of those developers also want git to fit their preconceptions, which it doesn't, and that is a problem. Mercurial, OTOH, has several WTFs, sufficiently F-ed up that I don't ever use the corresponding features ("named branches", rebase, there are several others less important). I also don't really understand the complaints about the git CLI. I have a fairly complex set of practices in git, but I use the same number of commands and *fewer* options in git than I do in hg or bzr. (This can be improved by using plugins.) And when I want to do something complex in git (like filter-branch), I *can* do it, whereas I can't in hg or bzr. I'll grant that git's ref-relative commit addressing (including the whole ref algebra of HEAD^2~6^3) was a bit disconcerting at first, but it saves me substantial keystrokes compared to the bzr and hg equivalents (not to mention a lot of screen space that isn't used up with log or id commands to get hold of a revno). It's true that Bazaar has some useful features, such as shared repos, whose performance characteristics are hard to emulate accurately in git. I can't speak to Stefan's experience, of course, but when I look at my git repos, in fact sharing is quite high because branches in separate repos tend to be very divergent (so only the original shared objects *can* be shared), and when the main feature branch gets merged, the whole repo usually gets deleted so the failure of "git fetch" to hardlink pulled objects isn't a big space leak. I also periodically clean up dormant branches by pulling them into a "warehouse" repo, and then deleting the separate repo. (I have plenty of space, this is to clean up the directory listing, not the disk usage. But it sure helps conserve disk.) The only bzr features that I don't see how to emulate effectively in git are "log -n ...", bound branches, and lightweight checkouts. But I've never missed them in git. I suspect that when the move to git happens, Stefan will find alternative, functionally equivalent, workflows appropriate to git after a while. Unfortunately I can't promise that. (In the case of log -n, I far prefer the graphical DAG displays anyway.) Steve