Moving Bugzilla to git?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Moving Bugzilla to git?

Mark Côté
(Cross-posted to [hidden email])

Hi all, I'm the manager of Mozilla's Bugzilla team. We've talked about
this idea before, but I thought I would flesh it out and ask for feedback.

I think we should move the Bugzilla code off of the Bazaar system hosted
by Mozilla and onto git, and maybe even GitHub. There are a few reasons
for this:

* git is pretty much the de facto standard for VCSs these days. This
means many people are familiar with it and like its flexibility (I
certainly do).

* On the other side, Bazaar is almost dead. There are maybe 2-3 commits
to trunk every month.

* GitHub is extremely popular, and for good reason, since it's a very
powerful system. Exposure via GitHub could mean increased contributions
(whether we can keep up with them or not is, of course, another question.

* Mozilla would very much like to retire Tinderbox, since Bugzilla is
the only system still using it. Moving to GitHub means we could use
travis-ci, which is really nice (we use it for other projects on my team).

* Mozilla would also very much like to retire the Bazaar and CVS servers,
both of which are used solely by Bugzilla.

Doing a one-time migration is quite easy using fast-import/fast-export.
I've verified that it works, with one small error that should be simple
to fix (a single file not deleted in the git version).

However, even with some advance warning, I don't think we can convert
and then abandon Bazaar immediately due to Bugzilla's suggested upgrade
path, which is to install a package and then pull updates directly from
the Bazaar repository. If we had to do a security release, it doesn't
seem right to require users to switch VCSs to get that fix. That said, I
don't think we need to maintain Bazaar indefinitely, just for some grace
period. I suggest 9 months, which would put that sometime mid-2014. I
would, however, like to shut down CVS when we migrate to git,
so that we don't have to maintain three VCSs at the same time.

I haven't found a suitable solution to automatically mirror changes from
git to Bazaar; there is one project[1] that at first glance appeared
suitable, but after running into problems, I had a discussion with the
package's author, who stated that there difficult bugs that would
prevent it from working the way we would need it to.

Luckily Bugzilla has already gone through this before, from CVS to
Bazaar, and we have a script[2] that steps through Bazaar commits and
applies them to a CVS repo. I've been modifying that script to do a
similar git-to-bzr translation, and I'm confident I can get it working.
The mirroring would be in a single direction, that is, from git to
Bazaar; after the migration, Bazaar would be read only to everyone
except the mirroring script.

We would still need migration instructions, which I believe we can do
using the old cvs-to-bzr instructions[3] as a base.

As for location of the repository, we could have Mozilla host the
official git repository and set up two-way mirroring to GitHub.

How does this sound to everyone? Any strong objections? I and the rest
of the BMO team are willing to do most of the work.

Mark


[1] https://launchpad.net/bzr-git
[2] http://bzr.mozilla.org/bzr-plugins/bzr-to-cvs/view/head:/bzr-to-cvs.pl
[3] https://wiki.mozilla.org/Bugzilla:Moving_From_CVS_To_Bazaar

_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-apps-bugzilla
-
To view or change your list settings, click here:
<http://bugzilla.org/cgi-bin/mj_wwwusr?user=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: Moving Bugzilla to git?

Gervase Markham
Hi Mark,

I support this move, although I have some comments on making it work well.

On 21/10/13 18:08, Mark Côté wrote:
> I think we should move the Bugzilla code off of the Bazaar system hosted
> by Mozilla and onto git, and maybe even GitHub.

I think we should master it (insofar as git has a master) on Mozilla's
git server (assuming it's up by now?) and mirror to github. That gives
better continuity in the face of problems on a service we don't control,
but also the exposure that github brings.

> However, even with some advance warning, I don't think we can convert
> and then abandon Bazaar immediately due to Bugzilla's suggested upgrade
> path, which is to install a package and then pull updates directly from
> the Bazaar repository. If we had to do a security release, it doesn't
> seem right to require users to switch VCSs to get that fix. That said, I
> don't think we need to maintain Bazaar indefinitely, just for some grace
> period. I suggest 9 months, which would put that sometime mid-2014. I
> would, however, like to shut down CVS when we migrate to git,
> so that we don't have to maintain three VCSs at the same time.

Are you planning only to move trunk to github, or also a number of branches?

What is the current status of the CVS mirror?

My point is: if some old installations are still stuck on CVS, can we
make it so they don't have to make _two_ VCS transitions to get to git?
In other words, can we make the lowest-numbered branch available via Git
be the same as the highest-numbered branch available via CVS?

I can't work out what the highest-numbered branch available via CVS is;
trunk has the version number 4.5.1+, which I assume is because there's
some sort of mirroring going on.

> We would still need migration instructions, which I believe we can do
> using the old cvs-to-bzr instructions[3] as a base.

Yes; I am very much in favour of the "change one thing at once" style of
migration where the user moves VCS systems without making any other
change, and only then performs some sort of upgrade.

> As for location of the repository, we could have Mozilla host the
> official git repository and set up two-way mirroring to GitHub.

+1.

Gerv

_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-apps-bugzilla
-
To view or change your list settings, click here:
<http://bugzilla.org/cgi-bin/mj_wwwusr?user=$MSGRCPT>
Reply | Threaded
Open this post in threaded view
|

Re: Moving Bugzilla to git?

Denis Roy
On 10/23/2013 07:38 AM, Gervase Markham wrote:

> Hi Mark,
>
> I support this move, although I have some comments on making it work well.
>
> On 21/10/13 18:08, Mark Côté wrote:
>> I think we should move the Bugzilla code off of the Bazaar system hosted
>> by Mozilla and onto git, and maybe even GitHub.
> I think we should master it (insofar as git has a master) on Mozilla's
> git server (assuming it's up by now?) and mirror to github. That gives
> better continuity in the face of problems on a service we don't control,
> but also the exposure that github brings.

FWIW, at Eclipse we've tried mirroring a number of projects to Github,
and we've found it to be generally broken and have since given up on
Github mirrors.  We host our Git code in-house as well, for the same
reason you've mentioned.

As a long-time bugzilla user & admin, I'm happy to see this discussion
happening.  Thanks to the team for all the great work.

Denis
-
To view or change your list settings, click here:
<http://bugzilla.org/cgi-bin/mj_wwwusr?user=lists+s6506n84121h51@...>
Reply | Threaded
Open this post in threaded view
|

Re: Moving Bugzilla to git?

Mark Côté
In reply to this post by Gervase Markham
On 10/23/2013, 7:38 AM, Gervase Markham wrote:
> Hi Mark,
>
> I support this move, although I have some comments on making it work well.

Cool.  Sorry for taking so long to respond here. :)

> On 21/10/13 18:08, Mark Côté wrote:
>> I think we should move the Bugzilla code off of the Bazaar system hosted
>> by Mozilla and onto git, and maybe even GitHub.
>
> I think we should master it (insofar as git has a master) on Mozilla's
> git server (assuming it's up by now?) and mirror to github. That gives
> better continuity in the face of problems on a service we don't control,
> but also the exposure that github brings.

Yup, agreed.  As I mentioned in a previous email, it'll be a one-way
mirror, but that's better than having nothing on GitHub.

>> However, even with some advance warning, I don't think we can convert
>> and then abandon Bazaar immediately due to Bugzilla's suggested upgrade
>> path, which is to install a package and then pull updates directly from
>> the Bazaar repository. If we had to do a security release, it doesn't
>> seem right to require users to switch VCSs to get that fix. That said, I
>> don't think we need to maintain Bazaar indefinitely, just for some grace
>> period. I suggest 9 months, which would put that sometime mid-2014. I
>> would, however, like to shut down CVS when we migrate to git,
>> so that we don't have to maintain three VCSs at the same time.
>
> Are you planning only to move trunk to github, or also a number of branches?

We might as well migrate everything, since some day the Bazaar server
will go away, even if that turns out to be a couple years from now.

> What is the current status of the CVS mirror?

As far as I know, it is still up but read-only.

> My point is: if some old installations are still stuck on CVS, can we
> make it so they don't have to make _two_ VCS transitions to get to git?
> In other words, can we make the lowest-numbered branch available via Git
> be the same as the highest-numbered branch available via CVS?
>
> I can't work out what the highest-numbered branch available via CVS is;
> trunk has the version number 4.5.1+, which I assume is because there's
> some sort of mirroring going on.

Yeah, for sure, assuming CVS is up to date with Bazaar there should be
no problem here.  I don't seem to have access to the CVS server right
now, though, so I can't verify.

Mark

_______________________________________________
dev-apps-bugzilla mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-apps-bugzilla
-
To view or change your list settings, click here:
<http://bugzilla.org/cgi-bin/mj_wwwusr?user=$MSGRCPT>