From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tim X Newsgroups: gmane.emacs.help Subject: Re: Official Git mirror? Date: Mon, 21 Feb 2011 19:52:38 +1100 Organization: Unlimited download news at news.astraweb.com Message-ID: <878vx9rcq1.fsf@rapttech.com.au> References: <83fwritmmx.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: dough.gmane.org 1298283114 5401 80.91.229.12 (21 Feb 2011 10:11:54 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 21 Feb 2011 10:11:54 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Feb 21 11:11:50 2011 Return-path: Envelope-to: geh-help-gnu-emacs@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 1PrSk3-0007U4-8A for geh-help-gnu-emacs@m.gmane.org; Mon, 21 Feb 2011 11:11:43 +0100 Original-Received: from localhost ([127.0.0.1]:60793 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PrSaN-0001QB-PZ for geh-help-gnu-emacs@m.gmane.org; Mon, 21 Feb 2011 05:01:43 -0500 Original-Path: usenet.stanford.edu!news.glorb.com!news2.glorb.com!news.astraweb.com!border5.newsrouter.astraweb.com!not-for-mail Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:uJ+R3MUdvoG/btEf4vhhtNSCemE= Original-Lines: 126 Original-NNTP-Posting-Host: 587bf6a9.news.astraweb.com Original-X-Trace: DXC=Y3VnJH?Vg; ]I56` List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:79280 Archived-At: Óscar Fuentes writes: > Eli Zaretskii writes: > >>> From: "Oleksandr Gavenko (aka gavenkoa)" >>> Date: Sun, 20 Feb 2011 23:11:16 +0200 >>> >>> As Bzr have network inefficient protocol I search for Git mirror. >> >> Bzr is no less efficient than Git. If the initial checkout is slow, >> try one of these two, for the first "bzr branch" command only: >> >> bzr branch nosmart+bzr://bzr.savannah.gnu.org/emacs/trunk >> >> bzr branch lp:emacs > > oscar@qcore:~/dev/ff$ time bzr branch lp:emacs > Branched 103368 revision(s). > real 17m41.424s > user 7m56.250s > sys 0m8.240s > > oscar@qcore:~/dev/ff/git-emacs$ time git clone git://repo.or.cz/emacs.git git-emacs > Initialized empty Git repository in /home/oscar/dev/ff/git-emacs/git-emacs/.git/ > remote: Counting objects: 597983, done. > remote: Compressing objects: 100% (122520/122520), done. > remote: Total 597983 (delta 474994), reused 597778 (delta 474826) > Receiving objects: 100% (597983/597983), 521.43 MiB | 1.00 MiB/s, done. > Resolving deltas: 100% (474994/474994), done. > real 11m42.616s > user 2m36.630s > sys 0m14.820s > > > Please note that git downloads all 51 branches that exists or existed on > Savannah while bzr gets just `trunk'. > > Git keeps the pipe downloading data at full speed all the time, while > bzr fluctuates a lot, including several long pauses, possibly because > the server is doing some CPU-intensive work for preparing the data. > > Maybe the differences are not big enough to notice by most people that > update their Emacs mirrors from time to time, but it is not accurate to > say that bzr's network protocol is no less efficient than git. > > Such comparisons are meaingless. There are two many variables not accounted for, such as network, server load, client/server versions and even differences in repositories. However, what really matters is the updates rather than a fresh full branching/cloning as you only do the long initial copy once. Personally, I prefer git, but use bzr just as much as a number of projects I work on use bzr. I've found the initial checkouts to be fairly close and later updates to also be about the same. If you setup things according to the instructions on the emacs wiki for bzr, creating a new branch copy is extremely fast. For example tcross@puma:~/bzr/emacs$ time bzr branch http://bzr.savannah.gnu.org/r/emacs/trunk/ new Branched 103370 revision(s). real 0m44.743s user 0m3.800s sys 0m0.400s which created a fresh new branch to work on. My preference for git is that it just fits how I think and my preferred workflow over bzr. However, functionally, I find them pretty much equivalent. The real point to note, as mentioned by Eli, is that the git repositories are frequently hours behind bzr. As we are talking about development sources, this can be important. There are a number of times I've updated only to find that the current snapshot either fails to build or has a bug. However, this is usually fixed very quickly. In fact, this happened to me last week. I reported the problem on the dev list and it was fixed within about an hour. With the git copy, you may have to wait a day to get that update. In fact, there was a post just after mine from someone using git who ran into the same problem. The response he got was that he had to wait 24 hours until his git master was updated. If you ever run into issues and want to raise/discuss them on the dev list, you will also get better results if your based on the bzr branch as people don't know if your being affected by a bug which may have already been fixed in bzr but has not yet been copied over to git. Consequently, the common response is to tell someone to wait 24 hours, update and see if the bug still exists, if it does, come back and raise it again. For example, the current git version is commit 0cc4633247929de05e1ae58cea225137074764c0 Author: Paul Eggert Date: Sun Feb 20 11:46:08 2011 -0800 while the current bzr revision is revno: 103370 committer: Chong Yidong branch nick: trunk timestamp: Mon 2011-02-21 01:03:36 -0500 and there is a difference of 5 commits between the two. Given the typical difference in refresh/update times between git and bzr are minimal, I think its worth sticking with bzr. If you ever plan to contribute bug fixes or other code, bzr will also be a better way to go as your patches will likely be better accepted or you may even be able to push changes up to get them merged in etc. While this is still possible with git, it is a bit harder - anything that makes things easier is more likely to increase the likelihood your contributions are accepted. Reporting issues is easier as well as you have the bzr revno readily available. Of course it all comes down to what you want and what you expect to do. If all you want is a fairly up-to-date version of the dev code and you don't plan to work on bugs, report problems or participate in development, then the git clone is probably fine. However, if you plan to work on bugs/submissions, participate in development etc, bzr is really the only sane choice. Tim -- tcross (at) rapttech dot com dot au