Closed
Bug 402224
Opened 18 years ago
Closed 18 years ago
add mercurial to MozillaBuild
Categories
(Firefox Build System :: MozillaBuild, task, P3)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: ted, Assigned: ted)
References
Details
Attachments
(1 file, 2 obsolete files)
|
3.85 KB,
patch
|
benjamin
:
review+
|
Details | Diff | Splinter Review |
We should ship mercurial with MozillaBuild, to enable Mozilla2 work.
Updated•18 years ago
|
Priority: -- → P3
Comment 1•18 years ago
|
||
Mass re-assign of MozillaBuild bugs into mozilla.org:MozillaBuild
Component: Build & Release → MozillaBuild
Updated•18 years ago
|
QA Contact: build → mozillabuild
Comment 2•18 years ago
|
||
This should block MozillaBuild 1.3. Johnny says he has some notes on setting up Mercurial to use a good merge program (e.g. conflict markers + emacs). We should set up the default Mercurial.ini to do this, and users can customize using ~/.hgrc if they have fancier merge programs they want to use instead.
The easiest thing to do would be to redistribute the installer from http://mercurial.berkwood.com/ and to just chain to it; or we could just install it $mozbuild\Mercurial and repackage that for distribution. AFAIK, the install has no external dependencies other than wanting to be in $PATH.
For the merge tool, I think what we want is described here: http://www.selenic.com/mercurial/wiki/index.cgi/MergingManuallyInEditor . So as long as we can ship a working diff3, we should be able to generate files with conflict markers, which is a good default. We can point people to http://www.selenic.com/mercurial/wiki/index.cgi/MergeProgram if they want to use a fancier tool.
... however, http://www.selenic.com/mercurial/wiki/index.cgi/MergeToolConfiguration mentions an internal simple merge tool. This 'simplemerge' seems to do diff3-style conflict markers, and seems to be available by default, so maybe we don't have to do any extra config here?
| Assignee | ||
Comment 4•18 years ago
|
||
Haven't tested the result yet, will upload that in a moment.
Assignee: nobody → ted.mielczarek
Status: NEW → ASSIGNED
Attachment #323921 -
Flags: review?(benjamin)
Comment 5•18 years ago
|
||
Not to go too far overboard here, but maybe it'd be worth packaging and pre-configuring a merge tool like WinMerge? Perhaps followup fodder if nothing else...
| Assignee | ||
Comment 6•18 years ago
|
||
That's what I was thinking, has anyone verified the behavior vlad mentions in comment 3?
Also, since I didn't mention it here, here's a test build:
http://people.mozilla.com/~tmielczarek/MozillaBuildSetup-hg.exe
Comment 7•18 years ago
|
||
I don't know if it's an issue with the Berkwood Mercurial package or with something in the way my environment was set up, but I couldn't get hg under mozillabuild to clone a ssh repository URL that I can clone fine with hg under Mac OS X.
Does anyone else see this problem, or is it just me?
Comment 8•18 years ago
|
||
Ted, just gave this a little testrun, and there's one problem resurfacing.
I hadn't had set up ~/.ssh/config to use my account on hg.mozilla.org yet, and did an
hg outgoing
and apparently hg didn't recognize the stdin and out from rxvt while trying to ask me for all the log-in information, so it looked like it was just hung.
When running the same command in a cmd.exe bash, it asked, and then I figured, "oh, maybe I need to do the setup dance". After fixing that, it worked fine in both cmd and rxvt.
Didn't try anything beyond hg diff, incoming and outgoing so far, on a repo that was previously worked with with hg 0.9.5 from cygwin.
| Assignee | ||
Comment 9•18 years ago
|
||
Ah, stupid rxvt. Maybe I should in fact just take bug 418938 and get rid of it?
Comment 10•18 years ago
|
||
Well, I haven't seen anybody come up with an alternative that's not stupid or beyond :-(, or not there.
It may not be that much of a problem for people that are not migrating from cygwin, as they'll need to read the docs to get ssh on hg.m.o working anyway. I got hit because the migration from cygwin -> mozillabuild changes the home directory, so my ssh settings got dropped.
In the worst case, just offer both cmd and rxvt start scripts? Ugh :-/
Comment 11•18 years ago
|
||
Ted, we're going to at least need this patch to Mercurial.ini so that it honors EDITOR instead of picking notepad. I'm vacillating about whether we want to enable any other extensions such as MQ, but I don't think we want to by default (users can always enable them in ~/.hgrc).
The merge behavior with this is: conflicts will add <<<===>>> markers, but will not launch an editor. It will print a message:
warning: conflicts during merge.
merging hello.txt failed!
I think this is an acceptable default behavior, although it might make sense to have a hook or extension which won't allow you to commit unresolved merge markers.
Oh, can we add 'showfunc = 1' to the [diff] section too?!
| Assignee | ||
Comment 13•18 years ago
|
||
Ok, this packages Mercurial and patches Mercurial.ini. Test installer available at the same URL as previously:
http://people.mozilla.com/~tmielczarek/MozillaBuildSetup-hg.exe
Attachment #323921 -
Attachment is obsolete: true
Attachment #324043 -
Attachment is obsolete: true
Attachment #324318 -
Flags: review?(benjamin)
Attachment #323921 -
Flags: review?(benjamin)
Comment 14•18 years ago
|
||
Hmm, maybe also add some nice defaults and stuff? Here's some suggestions.
[extensions]
alias =
mq =
record =
[defaults]
log = -l10
qnew = -UD
qrefresh = -D
incoming = -n
outgoing = -n
[alias]
rv = revert --no-backup
qst = qseries -v
Comment 15•18 years ago
|
||
I hate to ring the me-too bell here, but please please please make the default diff arguments produce readable diffs. "diff = -U 8 -p" is what I have, "-p" is the critical part of that.
Updated•18 years ago
|
Attachment #324318 -
Flags: review?(benjamin) → review+
| Assignee | ||
Comment 16•18 years ago
|
||
Checked in with jst's suggested diff settings.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Comment 17•17 years ago
|
||
The mercurial.ini in MozillaBuild 1.3rc2 has "-p -U -8"; it should be "-p -U 8"
| Assignee | ||
Comment 18•17 years ago
|
||
Thanks for catching that, I'll fix that and respin.
Updated•3 years ago
|
Product: mozilla.org → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•