Subject: [FEniCS-dev] Development code management

From: "Garth N. Wells" <[email-masked]>
Date: Thu, 19 Nov 2009 14:41:42 +0000

There has been some discussion on the dolfin-dev mailing list over the 
past few days on moving the FEniCS development repositories to a hosted 
service. The discussion has arisen in part due to the burden involved in 
maintaining the fenics.org server. With this message, I would like to 
kick-off a discussion and solicit opinions on moving the FEniCS 
development repositories to a hosted service.

We are already using a free hosted service (Launchpad) for bug tracking 
and feature planning for a number of FEniCS components and this has 
proved to be a success. The question which I wish to pose now is should 
we move all the FEniCS development repositories to a hosted service?

In terms of hosted services, the two most attractive options are 
Launchpad (https://launchpad.net) and Bitbucket (http://bitbucket.org). 
Versions of the DOLFIN repository are presently available on both

     https://code.launchpad.net/~fenics/dolfin/dev
     http://bitbucket.org/dolfin/dolfin/

Feel free to test them out. As mentioned above, we are already using 
Launchpad, and it provides some useful features like release planning 
and mailing lists. The drawback is that the version control system 
supported by Launchpad is Bazaar. Bazaar is very similar to Mercurial, 
but becoming familiar with it will require some effort. The advantage of 
Bitbucket is that it supports Mercurial repositories. However, it's bug 
tracking and feature planning tools are, in my opinion, not as good as 
those on Launchpad. Bitbucket does not provide mailing lists, so they 
would have to be hosted elsewhere.

I think that moving to a hosted service will provide us with development 
tools features and tools which are not and will not be provided on 
www.fenics.org. The www.fenics.org website would remain, and its purpose 
would be to present the FEniCS Project and its components. Only the 
development aspects would be moved to a hosted service.

Garth

---

From: Evan Lezar <[email-masked]>
Date: Thu, 19 Nov 2009 16:57:04 +0200

Hi all

I do not have much personal experience with either launchpad or bitbucket,
but I would have to say that hosting everything (mailing list, code, etc) in
one place makes more sense to me.

In addition, I see that bitbucket is not a free service.

--
Evan Lezar

Computational Electromagnetics Group
Department of Electrical and Electronic Engineering
University of Stellenbosch
Stellenbosch
South Africa

www.evanlezar.com

GoogleTalk: evanlezar
Skype: evanlezar

On Thu, Nov 19, 2009 at 4:41 PM, Garth N. Wells <[email-masked]> wrote:

> There has been some discussion on the dolfin-dev mailing list over the past
> few days on moving the FEniCS development repositories to a hosted service.
> The discussion has arisen in part due to the burden involved in maintaining
> the fenics.org server. With this message, I would like to kick-off a
> discussion and solicit opinions on moving the FEniCS development
> repositories to a hosted service.
>
> We are already using a free hosted service (Launchpad) for bug tracking and
> feature planning for a number of FEniCS components and this has proved to be
> a success. The question which I wish to pose now is should we move all the
> FEniCS development repositories to a hosted service?
>
> In terms of hosted services, the two most attractive options are Launchpad
> (https://launchpad.net) and Bitbucket (http://bitbucket.org). Versions of
> the DOLFIN repository are presently available on both
>
> Launchpad, and it provides some useful features like release planning and
> mailing lists. The drawback is that the version control system supported by
> Launchpad is Bazaar. Bazaar is very similar to Mercurial, but becoming
> familiar with it will require some effort. The advantage of Bitbucket is
> that it supports Mercurial repositories. However, it's bug tracking and
> feature planning tools are, in my opinion, not as good as those on
> Launchpad. Bitbucket does not provide mailing lists, so they would have to
> be hosted elsewhere.
>
> _______________________________________________
> FEniCS-dev mailing list
> [email-masked]
> http://www.fenics.org/mailman/listinfo/fenics-dev
>

---

From: "Garth N. Wells" <[email-masked]>
Date: Thu, 19 Nov 2009 15:06:05 +0000

Evan Lezar wrote:
> Hi all
> 
> I do not have much personal experience with either launchpad or 
> bitbucket, but I would have to say that hosting everything (mailing 
> list, code, etc) in one place makes more sense to me.
> 

That's true. I didn't mention it because, for the size of our projects, 
the fee is small. The fee itself is not an obstacle, but it does 
introduce some admin to make sure that it gets paid.

Garth

> www.evanlezar.com <http://www.evanlezar.com>
> 
> GoogleTalk: evanlezar
> Skype: evanlezar
> 
> 
> On Thu, Nov 19, 2009 at 4:41 PM, Garth N. Wells <[email-masked] 
> <mailto:[email-masked]>> wrote:
> 
>     There has been some discussion on the dolfin-dev mailing list over
>     the past few days on moving the FEniCS development repositories to a
>     hosted service. The discussion has arisen in part due to the burden
>     involved in maintaining the fenics.org <http://fenics.org> server.
>     With this message, I would like to kick-off a discussion and solicit
>     opinions on moving the FEniCS development repositories to a hosted
>     service.
> 
>     We are already using a free hosted service (Launchpad) for bug
>     tracking and feature planning for a number of FEniCS components and
>     this has proved to be a success. The question which I wish to pose
>     now is should we move all the FEniCS development repositories to a
>     hosted service?
> 
>     Launchpad (https://launchpad.net) and Bitbucket
>     (http://bitbucket.org). Versions of the DOLFIN repository are
>     presently available on both
> 
>     Launchpad, and it provides some useful features like release
>     planning and mailing lists. The drawback is that the version control
>     system supported by Launchpad is Bazaar. Bazaar is very similar to
>     Mercurial, but becoming familiar with it will require some effort.
>     The advantage of Bitbucket is that it supports Mercurial
>     repositories. However, it's bug tracking and feature planning tools
>     are, in my opinion, not as good as those on Launchpad. Bitbucket
>     does not provide mailing lists, so they would have to be hosted
>     elsewhere.
> 
>     I think that moving to a hosted service will provide us with
>     development tools features and tools which are not and will not be
>     provided on www.fenics.org <http://www.fenics.org>. The
>     www.fenics.org <http://www.fenics.org> website would remain, and its
>     purpose would be to present the FEniCS Project and its components.
>     Only the development aspects would be moved to a hosted service.
> 
>     Garth
>     [email-masked] <mailto:[email-masked]>

---

From: Anders Logg <[email-masked]>
Date: Thu, 19 Nov 2009 16:16:10 +0100

On Thu, Nov 19, 2009 at 04:57:04PM +0200, Evan Lezar wrote:
> Hi all
>
> I do not have much personal experience with either launchpad or bitbucket, but
> I would have to say that hosting everything (mailing list, code, etc) in one
> place makes more sense to me.

I agree we should move to a hosted service. This is more reliable in
the long run as we don't need to rely on someone's IT support to run
the service. Simula have been very helpful the last 3 years with
managing the server, but that support may not be indefinite. I've also
spent quite a bit of time over the years in setting up and maintaining
web servers, mailing lists, bug tracking systems etc but it's not
something I want to spend much more time on.

> In addition, I see that bitbucket is not a free service.

It's not a big problem to spend some small amount on hosting like the
current fee of $5/month for the plan we would need. But what about the
backend? Does anyone know if it's free? I know Launchpad is but what
about Bitbucket?

Something else to consider is CNAME support. We can get this with
Bitbucket so that the address for the repository would still be
www.fenics.org/hg/foo as an alias for the Bitbucket address.
Does Launchpad have this?

--
Anders

---

From: Anders Logg <[email-masked]>
Date: Thu, 19 Nov 2009 16:43:38 +0100

On Thu, Nov 19, 2009 at 02:41:42PM +0000, Garth N. Wells wrote:
> involved in maintaining the fenics.org server. With this message, I
> would like to kick-off a discussion and solicit opinions on moving
> the FEniCS development repositories to a hosted service.
>

The bzr repository seems to contain only 4300 changeset, but the hg
repository contains around 7500. Does anyone know why?

--
Anders

> provided on www.fenics.org. The www.fenics.org website would remain,
> and its purpose would be to present the FEniCS Project and its
> components. Only the development aspects would be moved to a hosted
> service.
>
> Garth

---

From: Harish Narayanan <[email-masked]>
Date: Thu, 19 Nov 2009 16:49:18 +0100

> repository contains around 7500. Does anyone know why?

I noticed this too. Could it be that bzr seems to have this notion of
primary changesets and sub-changesets or something?

Notice all the foo.bar.baz versioning attached to an annotated file:
http://bazaar.launchpad.net/~fenics/dolfin/dev/annotate/head%3A/site-packages/dolfin/variationalproblem.py

Compare this with (awkward to due to funny formatting):
http://bitbucket.org/dolfin/dolfin/annotate/e8b4c1afa145/site-packages/dolfin/variationalproblem.py

Harish

---

From: Harish Narayanan <[email-masked]>
Date: Thu, 19 Nov 2009 16:52:46 +0100

> primary changesets and sub-changesets or something?

I think this is it. bzr is holding information re: how changesets are
merged in using this numbering convention.

---

From: Anders Logg <[email-masked]>
Date: Thu, 19 Nov 2009 16:57:23 +0100

> merged in using this numbering convention.

I tried to find some "missing" changesets and found this one:

changeset:   7385:05534c2e11f5
parent:      7383:f7efd4af70a4
user:        "Garth N. Wells <[email-masked]>"
date:        Mon Oct 19 11:39:30 2009 +0100
summary:     Add back compiler flag to please buildbots.

This is missing when doing brz log. Where is it hidden?

--
Anders

---

From: Andy Ray Terrel <[email-masked]>
Date: Thu, 19 Nov 2009 10:18:26 -0600

> This is missing when doing brz log. Where is it hidden?

Do

bzr log -n 0

> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iEYEARECAAYFAksFauMACgkQTuwUCDsYZdHJCgCfZ8ZPae91LZwDWO4PWF5S4HFD
> cHIAn36mX0IX9rMS2AJnkYxYpYEyzFrg
> =bbf/
> -----END PGP SIGNATURE-----
>

---

From: Andy Ray Terrel <[email-masked]>
Date: Thu, 19 Nov 2009 10:19:40 -0600

>>> >> repository contains around 7500. Does anyone know why?

aterrel@aterrel:~/scratch/dolfin$ bzr log -n 0| grep "revno" | wc -l
    7487

---

From: Anders Logg <[email-masked]>
Date: Thu, 19 Nov 2009 17:26:18 +0100

> aterrel@aterrel:~/scratch/dolfin$ bzr log -n 0| grep "revno" | wc -l

ok, looks pretty accurate.

--
Anders

---

From: "Garth N. Wells" <[email-masked]>
Date: Thu, 19 Nov 2009 16:27:38 +0000

> Does Launchpad have this?

I don't think so. I wouldn't expect to get this with a free service.

Garth

> --
> Anders
> 
> 
> ------------------------------------------------------------------------
>

---

From: Andy Ray Terrel <[email-masked]>
Date: Thu, 19 Nov 2009 10:27:19 -0600

> backend? Does anyone know if it's free? I know Launchpad is but what

Bitbucket has its own server software that is not free.  You can see
the project at: http://bitbucket.org/jespern/bitbucket/

> Does Launchpad have this?

I haven't been able to find this.

> iEYEARECAAYFAksFYToACgkQTuwUCDsYZdGLNgCgl8a95niH2IFXJQKQ2X/YsU9q
> 8UYAniqg3scmZlxQxW6WN+rw5qayCbxk
> =JBQn

---

From: Anders Logg <[email-masked]>
Date: Thu, 19 Nov 2009 17:35:18 +0100

> the project at: http://bitbucket.org/jespern/bitbucket/

Here's some more info on the matter:

http://www.selenic.com/pipermail/mercurial/2008-August/020498.html

This speaks to the advantage of Launchpad.

But it's somewhat unfair to Bitbucket since Launchpad was also
non-free for a long while and only became free once they had a large
enough user-base.

--
Anders

---

From: Andy Ray Terrel <[email-masked]>
Date: Thu, 19 Nov 2009 10:41:12 -0600

Thinking about FEniCS-Apps, both services allow project managers to
maintain the projects themselves a bit more.  That is they can add
people, wiki's, and bugtracking easily.  The one feature I like about
Launchpad is that you can specify things in a superproject.  This
seems like a natural way to link all the projects and then have the
fenics.org wiki point the whole project.  I don't think there is a
mailing list option on bitbucket but if those keep getting managed on
fenics.org then it is a moot point.

So I'm more in favor of  up for Launchpad only because it give each
project manager a bit more control, but who knows they may like me
pestering them about copyrights and updating the wiki.

-- Andy

---

From: "Garth N. Wells" <[email-masked]>
Date: Thu, 19 Nov 2009 16:43:18 +0000

> non-free for a long while and only became free once they had a large

Although Launchpad never charged users.

Garth

---

From: Harish Narayanan <[email-masked]>
Date: Thu, 19 Nov 2009 17:46:45 +0100

> pestering them about copyrights and updating the wiki.

I don't see where launchpad offers support for project wikis. Maybe I
need to own a project on it to have the option of creating one?

Harish

---

From: "Garth N. Wells" <[email-masked]>
Date: Thu, 19 Nov 2009 16:47:47 +0000

> need to own a project on it to have the option of creating one?

I don't believe that it supports wikis.

Garth

---

From: Andy Ray Terrel <[email-masked]>
Date: Thu, 19 Nov 2009 10:50:07 -0600

> I don't believe that it supports wikis.

Yes I see, it has a place for you to link to a wiki but doesn't host
one for you.  But I've never used this in bitbucket, so people can
still just the fenics.org wiki to add content about their project.

-- Andy

---

From: Anders Logg <[email-masked]>
Date: Thu, 19 Nov 2009 18:06:41 +0100

> Although Launchpad never charged users.

Yes, but they had the financial backing from Canonical.

Anyway, Launchpad is free and Bitbucket is not. The other two
advantages over Bitbucket as I see it are the support for mailing
lists and a more mature system for handling bugs and blueprints.

I don't see much difference between bzr and hg.

--
Anders

---

From: Anders Logg <[email-masked]>
Date: Thu, 19 Nov 2009 18:12:35 +0100

> still just the fenics.org wiki to add content about their project.

Moving to Launchpad means we can remove a bunch of pages and services
from fenics.org. Up until now, fenics.org has been very developer
centered. We could move all of that to Launchpad, and let fenics.org
be a good entry-page for users.

Instead of what we have today, I imagine something like this:

  http://tortoisehg.bitbucket.org/

Something that makes a user feel comfortable the first time they open
the page. Our current page is quite intense in the number of links it
presents on the main page and many of those links are not so helpful
to a casual user.

So we could have a "Development" link or similar on the front page
pointing to Launchpad.

--
Anders