all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Tim X <timx@nospam.dev.null>
To: help-gnu-emacs@gnu.org
Subject: Re: Official Git mirror?
Date: Mon, 21 Feb 2011 19:52:38 +1100	[thread overview]
Message-ID: <878vx9rcq1.fsf@rapttech.com.au> (raw)
In-Reply-To: mailman.11.1298266625.16274.help-gnu-emacs@gnu.org

Óscar Fuentes <ofv@wanadoo.es> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> From: "Oleksandr Gavenko (aka gavenkoa)" <gavenkoa@gmail.com>
>>> 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 <eggert@cs.ucla.edu>
Date:   Sun Feb 20 11:46:08 2011 -0800

while the current bzr revision is

revno: 103370
committer: Chong Yidong <cyd@stupidchicken.com>
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


  parent reply	other threads:[~2011-02-21  8:52 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-20 21:11 Official Git mirror? Oleksandr Gavenko (aka gavenkoa)
2011-02-20 21:35 ` Eli Zaretskii
2011-02-20 21:59   ` Oleksandr Gavenko (aka gavenkoa)
2011-02-21  6:58     ` Eli Zaretskii
2011-02-21 23:29       ` Oleksandr Gavenko
2011-02-22 10:54         ` Eli Zaretskii
     [not found]         ` <mailman.8.1298372068.26362.help-gnu-emacs@gnu.org>
2011-02-24 19:31           ` Vagn Johansen
2011-02-24 19:55             ` Eli Zaretskii
2011-02-21  5:36   ` Óscar Fuentes
2011-02-21  6:58     ` Leo
2011-02-21  7:58     ` Eli Zaretskii
2011-02-21 16:09       ` Óscar Fuentes
2011-02-21 18:56         ` Eli Zaretskii
2011-02-21 20:08           ` Óscar Fuentes
     [not found]   ` <mailman.11.1298266625.16274.help-gnu-emacs@gnu.org>
2011-02-21  8:52     ` Tim X [this message]
2011-02-21 14:31       ` Official Git mirror? -- Request Perry Smith
2011-02-21 14:57         ` andrea crotti
2011-02-21 18:17       ` Official Git mirror? Óscar Fuentes
2011-02-21 19:02         ` Eli Zaretskii
2011-02-21 19:40           ` Óscar Fuentes
2011-02-21 20:33             ` Eli Zaretskii
2011-02-21 20:57               ` Óscar Fuentes
2011-02-21 21:15                 ` Eli Zaretskii
     [not found]             ` <mailman.11.1298320422.21303.help-gnu-emacs@gnu.org>
2011-02-23  9:16               ` Giorgos Keramidas
2011-02-23 12:32                 ` Eli Zaretskii
2011-02-23 19:38                   ` jun yu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878vx9rcq1.fsf@rapttech.com.au \
    --to=timx@nospam.dev.null \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.