From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/69611 Path: news.gmane.org!not-for-mail From: "Stephen J. Turnbull" Newsgroups: gmane.emacs.devel,gmane.emacs.gnus.general Subject: Re: The Gnus repository is switching to Git as of 2010-04-19 Date: Wed, 21 Apr 2010 09:33:59 +0900 Message-ID: <87aasxmyo8.fsf@uwakimon.sk.tsukuba.ac.jp> References: <878w8jmjly.fsf@lifelogs.com> <87fx2qgrdw.fsf@lifelogs.com> <878w8hevp6.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1271811766 14350 80.91.229.12 (21 Apr 2010 01:02:46 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 21 Apr 2010 01:02:46 +0000 (UTC) Cc: Ted Zlatanov , ding@gnus.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 21 03:02:42 2010 connect(): No such file or directory Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1O4OKp-0001HS-BK for ged-emacs-devel@m.gmane.org; Wed, 21 Apr 2010 03:02:42 +0200 Original-Received: from localhost ([127.0.0.1]:35170 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O4OKm-0007Aq-2l for ged-emacs-devel@m.gmane.org; Tue, 20 Apr 2010 21:02:32 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O4OKc-00076v-07 for emacs-devel@gnu.org; Tue, 20 Apr 2010 21:02:22 -0400 Original-Received: from [140.186.70.92] (port=56327 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O4OKa-000742-GM for emacs-devel@gnu.org; Tue, 20 Apr 2010 21:02:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O4OKY-0001W0-KN for emacs-devel@gnu.org; Tue, 20 Apr 2010 21:02:20 -0400 Original-Received: from mtps02.sk.tsukuba.ac.jp ([130.158.97.224]:56144) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4OKY-0001Vq-31 for emacs-devel@gnu.org; Tue, 20 Apr 2010 21:02:18 -0400 Original-Received: from uwakimon.sk.tsukuba.ac.jp (uwakimon.sk.tsukuba.ac.jp [130.158.99.156]) by mtps02.sk.tsukuba.ac.jp (Postfix) with ESMTP id CA81A7FFA; Wed, 21 Apr 2010 09:34:06 +0900 (JST) Original-Received: by uwakimon.sk.tsukuba.ac.jp (Postfix, from userid 1000) id BACD31A34EE; Wed, 21 Apr 2010 09:33:59 +0900 (JST) In-Reply-To: X-Mailer: VM 8.0.12-devo-585 under 21.5 (beta29) "garbanzo" a03421eb562b XEmacs Lucid (x86_64-unknown-linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:123948 gmane.emacs.gnus.general:69611 Archived-At: Stefan Monnier writes: > I know that's how it works. But I don't know what [git's > automatic-detection-implementation of copy/rename] means in terms of > the behavior when merging changes, including addition/removal of files. > IIUC it understands movement of files, but does it understand movement > of directories (e.g. if Gnus adds a new file lisp/gnus-new.el, will it > appear in Emacs as lisp/gnus/gnus-new.el or lisp/gnu-new.el?; similarly > if Emacs adds a new file lisp/new.el will it appear in Gnus as > lisp/new.el?). Bazaar can't handle that and won't anytime soon as a standard feature (no support for nested trees, how to do it remains controversial among the core Bazaar developers). git supports that with submodules (speaking theoretically, I haven't tried this at home), but the subtrees represented by git submodules must have identical structure. > I don't personally care whether the moves&removal&adds are done on the > Bzr or Git side. AFAIK it's as easy to do it on either side. Not. See above. You can take your chances with one of the Bazaar plugins (bzr-externals, scmproj), but given the level of demand for this feature, the fact that none of lifeless, jam, or aaron have jumped on it suggests that the chances are unhappy that you'll bet on the right horse, and in any case the documentation will undoubtedly suck because the semantics will be buried deep in the Python code. OTOH, git has a standard, built-in feature, with well-defined-and- documented, simple semantics. > It should be just as easy for a branch as for the trunk. Maybe. I worry about ghost revisions appearing when you do a git->bzr sync, and that's where they are most likely since git users branch with abandon then abandon the branches, while it's no fun to try to work with Bazaar that way. Note that ghost revisions causes nasty bugs in bzr as recently as a few weeks ago.