emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Switching to bzr: what Emacs developers should know?


From: Karl Fogel
Subject: Re: Switching to bzr: what Emacs developers should know?
Date: Tue, 11 Aug 2009 14:20:08 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Jason Earl <address@hidden> writes:
> I ran the same test as Cheng and it only to me 24m, which is more
> reasonable.  I am guessing that there might be network issues.  The
> emacs-testing branches take less time, primarily because there is a lot
> less information to move.
>
> One thing to note, the bzr: method takes longer than the http: method
> for initial checkout because the machine hosting bzr.notengoamigos.org
> is such an old piece of crap.

My results are below (this is on a machine with a pretty good pipe; I
don't remember exactly how good, but enough to be slashdotted and not
notice):

First I fetched via bzr://, like so:

   $ mkdir new-emacs
   $ cd new-emacs
   $ bzr init-repo --2a .
   Shared repository with trees (format: 2a)
   Location:
     shared repository: .
   $ time bzr branch bzr://bzr.notengoamigos.org/emacs-testing/trunk/ emacs
   Branched 96940 revision(s).
   real    47m37.010s
   user    2m33.398s
   sys     0m5.480s
   $ 

Then I fetched the tarballs:

  $ time wget http://bzr.notengoamigos.org/emacs-testing.tar.gz
  [...]
  100%[======================================>] 233,333,654 1.90M/s in 66s
  [...]
  real    1m6.515s
  user    0m0.304s
  sys     0m3.272s

  $ time wget http://bzr.notengoamigos.org/emacs-testing.tar.lzma
  [...]
  100%[======================================>] 230,333,027 3.65M/s in 77s
  [...]
  real    1m17.292s
  user    0m0.272s
  sys     0m2.836s
  $ 

Then I tried this (still in the same shared repository):

  $ time bzr branch http://bzr.notengoamigos.org/emacs-testing/trunk/ \
                    emacs-trunk-via-http
  Branched 96940 revision(s).
  real    0m21.611s
  user    0m8.117s
  sys     0m1.136s
  $ 

Good -- it used the already-fetched local revisions, as it should.  Next
I tried fetching via HTTP in a fresh (unpopulated) shared repository:

  $ cd ..
  $ mkdir emacs-new-2
  $ cd emacs-new-2
  $ bzr init-repo --2a .
  $ time bzr branch http://bzr.notengoamigos.org/emacs-testing/trunk/ \
                    emacs-trunk-via-http
  Branched 96940 revision(s).
  real    9m41.867s
  user    7m3.190s
  sys     0m5.880s
  $ 

Interesting.  I expected that to take about as long as fetching the gz
or lzma, but it took longer, though still not nearly as long as with
bzr://.  In summary, we're looking at:

  bzr branch bzr://...       ==>  47 minutes
  bzr branch http://...      ==>  10 minutes
  wget http:/.../{gz,lzma}   ==>   1 minute

> There is no question that the fastest way to get in business is to
> download the pre-made repositories and start from there.

Yup.  I was thinking we'd package up a shared repository as a .gz (or
.lzma) file.  The method would be:

  $ wget http://bzr.savanna.gnu.org/.../emacs-shared-repos.gz
  $ tar zxvf emacs-shared-repos.gz
  $ cd emacs-shared-repos            (or whatever it's called)
  $ cd trunk
  $ bzr pull                         (pull down new revs into trunk)
  $ bzr branch trunk my-branch       (start working by branching trunk)

Seem sane to you?

-Karl




reply via email to

[Prev in Thread] Current Thread [Next in Thread]