Closed Bug 475011 Opened 11 years ago Closed 10 years ago

Move ChatZilla to its own HG repo

Categories

(Other Applications :: ChatZilla, defect, minor)

defect
Not set
minor

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: sgautherie, Assigned: Gijs)

References

Details

+++ This bug was initially created as a clone of Bug #437064 +++

Or at least a mirror (at http://hg.mozilla.org/cvs-trunk-mirror/file/default/extensions/ or elsewhere)
Why?
Since we're now working on the FF/SM/etc applications with Hg,
it would be easier to be able to use (the same (better)) Hg for CZ too.

For example, (checkin-needed) checkins to cvs/1.9.0 seem to happen much more rarely than those to Hg/1.9.1-1.9.2;
at least, a cvs mirror would "ease" preparing the patches.

That's how I see it...
Not intending any disrespect, but for ChatZilla it's been quite a long time since I saw SeaMonkey people do patches on our code. So preparing the patches isn't really an issue, to my knowledge.

I'm also not sure how it would be "easier" to use hg when working with the other apps. For one thing, this is only an issue in SeaMonkey, and for another, imports for anything are going to take extra code, I'd guess... I'm not sure how much moving to hg would solve in that respect. Finally, there is the issue that hg is a massive pain to use, and that some of the CZ devs hate it. I don't really see us moving to it in a hurry.

So, in summary, I would recommend you find better reasons than the ones given so far if you want to convince us that going through the pain of migrating, moving all our local code, updating the infrastructure we have, updating the SeaMonkey integration code, and getting used to the new way of working and all the irritation associated with it.
[... is worth it.]

Sorry, I'm doing too many things at once here.
One of the good reasons is that you're forcing localizers to use different versioning systems (that's 20+ people now), another is the L10n QA tools don't work with this setup, so we cannot guarantee a standard quality level of our localizations.
Would adding a mirror of CVS into Hg be reasonable then? I can't see any reason not to, other than I don't really know how.

This problem affects the seamonkey people, i'm sure one of them will know what to do?
> Not intending any disrespect, but for ChatZilla it's been quite a long time
> since I saw SeaMonkey people do patches on our code. 

Take it as a compliment - CZ is stable and mature. :)

> Finally, there is the issue that hg is a massive pain to use,

Not really. Most things can be done similar to CVS, mostly even with similar commands. The main difference is the extra step you need from work directory to your local repository to the main repository.

> and that some of the CZ devs hate it. I don't
> really see us moving to it in a hurry.

So do I.
Having CZ in Hg would streamline handling for Mozilla platform users who do their own builds, since you wouldn't need to learn two different VCS...
But the number of folks doing that isn't that high, I suppose.
(In reply to comment #3)
> Finally, there is the issue
> that hg is a massive pain to use, and that some of the CZ devs hate it. I don't
> really see us moving to it in a hurry.

For what I do, I kind of prefer Hg so far;
yet, I can understand that other people can feel otherwise.

I very seldom work on CZ, but not requiring to install and configure cvs in addition to Hg can only be "easier" for whoever want to access its code.

Then, I did not say it was urgent nor mandatory.

> So, in summary, I would recommend you find better reasons than the ones given
> so far if you want to convince us that going through the pain of migrating,

I kind of expected this reply and that's why I'm not asking that you do all this, if you don't want to.

But, I surely would like you could setup a mirror:
that should not brake anything for you, while helping me/others...

I don't know how all this works, but I would hope this might be as simple as asking the m-c people to add this directory to the existing cvs-trunk-mirror, or something close to it ?
(In reply to comment #8)
> I don't know how all this works, but I would hope this might be as simple as
> asking the m-c people to add this directory to the existing cvs-trunk-mirror,

Though I guess putting it there is not the best place

> or something close to it ?

and a separate repository would be better.
(In reply to comment #6)
> Would adding a mirror of CVS into Hg be reasonable then? I can't see any reason
> not to, other than I don't really know how.

From localizer's point of view yes, a localizer needs only to pull and doesn't need not push. That would probably help with L10n dashboard too, KaiRo may know it better.

This solution would still require a sepatare repository, adding it to cvs-trunk-mirror is not an option here, because then you have to pull the whole cvs repo, which is quite large I suppose.
We could manually pull cvs and mirror into hg, but having the whole history imported to a hg repo like it was done with inspector would be nicer.
(In reply to comment #11)
> We could manually pull cvs and mirror into hg, but having the whole history
> imported to a hg repo like it was done with inspector would be nicer.

Well, could we still make it a pull-only mirror? I don't see us moving to HG for actual development, and it'd be nice if people were not able to make the mistake of committing to it, thus un-syncing the HG and CVS repos. I don't really see the benefit of moving the history so far - is there some tool which works better across multiple HG repos than with an HG repo and CVS repo? To my knowledge, MXR still needs you to indicate the right repository, so I'm not sure I understand the need for history.



Speaking of MXR, an interesting sidenote is that someone apparently stuck our stuff in comm-central. I don't know why or how it ended up there, but it's there, apparently.

http://mxr.mozilla.org/comm-central/source/mozilla/extensions/irc/

It's an old pull, though, and apparently not getting updated. So probably harmful. Again, no clue why it's there to begin with. Probably should be filing a separate bug on that? :S
Summary: Create an own hg repository for Chatzilla → Create a pull-only hg mirror for Chatzilla
(In reply to comment #12)
> Well, could we still make it a pull-only mirror? I don't see us moving to HG

You may want to look at that (whole) page:
http://www.selenic.com/mercurial/wiki/index.cgi/SharedSSH#head-be0f1c53316aba8d199b4161fe5a4c24d3117f0c

I would guess cvs-trunk-mirror is "read-only".

Otherwise, maybe ask m-c people about the "CLOSED TREE" hook they use now:
you could modify it to deny all but the mirror updates.

> I don't
> really see the benefit of moving the history so far - is there some tool which
> works better across multiple HG repos than with an HG repo and CVS repo? To my

I don't know about crossing multiple repos;
but Hg can show a whole repo history locally:
default choice should be to mirror (= import) the history.

> knowledge, MXR still needs you to indicate the right repository, so I'm not
> sure I understand the need for history.

Having the history locally can be enough and make looking through MXR unneeded.

> Speaking of MXR, an interesting sidenote is that someone apparently stuck our
> stuff in comm-central. I don't know why or how it ended up there, but it's
> there, apparently.
> 
> http://mxr.mozilla.org/comm-central/source/mozilla/extensions/irc/
> 
> It's an old pull, though, and apparently not getting updated. So probably
> harmful. Again, no clue why it's there to begin with. Probably should be filing

I think MXR pulls c-c through its client.py, which includes irc, venkman, ... and (currently) mozilla-1.9.1.
At first, I would be more worried that it's stuck.
KaiRo should know better about this.

> a separate bug on that? :S
(In reply to comment #12)
> Probably should be filing a separate bug on that? :S

Anyway, if c-c can pull from a (mirror) Hg repo (as it does for DOMi), that should get fixed when we switch ;-)
Blocks: 484205
Some updated answers:


(In reply to comment #12)
> is there some tool which
> works better across multiple HG repos than with an HG repo and CVS repo?

Now there is (at least) tinderboxpushlog, which doesn't (and may never) know about cvs.
See
http://groups.google.com/group/mozilla.dev.tree-management/browse_thread/thread/b18b7b32da491849/


(In reply to comment #13)
> > http://mxr.mozilla.org/comm-central/source/mozilla/extensions/irc/
> 
> I think MXR pulls c-c through its client.py, which includes irc, venkman, ...
> and (currently) mozilla-1.9.1.

I confirm this is it.

> At first, I would be more worried that it's stuck.

The irc directory is not part of comm-central, but is (automatically) checked out from cvs.


*****

Shall you file a bug to create an empty hg repo?
The state of Mercurial tools have improved since this originally came up, so most of my objections to it are not applicable any more, although I still find it cumbersome to use.

At this point I would not object to actually moving the whole code (WITH history!) to a Mercurial repository. Obviously it'll be disruptive to us, but it's only going to happen once.

If Gijs is OK with this too, we can turn this bug into a migration and get on with whatever work needs doing to make the switch.
(In reply to comment #16)
> The state of Mercurial tools have improved since this originally came up, so
> most of my objections to it are not applicable any more, although I still find
> it cumbersome to use.
> 
> At this point I would not object to actually moving the whole code (WITH
> history!) to a Mercurial repository. Obviously it'll be disruptive to us, but
> it's only going to happen once.
> 
> If Gijs is OK with this too, we can turn this bug into a migration and get on
> with whatever work needs doing to make the switch.

I still find HG pretty cumbersome, too, but sure, I'm OK with switching. I'll actually even be happy taking the bug, I already did this for Venkman, and wrote down what I did ( http://www.gijsk.com/blog/2009/03/moving-from-cvs-to-mercurial/ ).
Assignee: rginda → gijskruitbosch+bugs
Status: NEW → ASSIGNED
Summary: Create a pull-only hg mirror for Chatzilla → Move ChatZilla to its own HG repo
Depends on: 524654
Depends on: 524682
No longer blocks: 484205
Blocks: 524682
No longer depends on: 524682
http://hg.mozilla.org/chatzilla/ makes this FIXED. Hurray!
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
[
http://hg.mozilla.org/
Last change
at Sun Nov 01 09:38:01 2009 -0800
]

V.Fixed

Thanks you !
Status: RESOLVED → VERIFIED
Blocks: 525774
You need to log in before you can comment on or make changes to this bug.