mozilla

Revision 113002 of comm-central

  • Revision slug: comm-central
  • Revision title: comm-central
  • Revision id: 113002
  • Created:
  • Creator: Ssitter
  • Is current revision? No
  • Comment 35 words added, 37 words removed

Revision Content

comm-central is a Mercurial repository of the Thunderbird, SeaMonkey, Lightning extension and Sunbird code: http://hg.mozilla.org/comm-central.

The relevant Tinderbox pages are located at:

{{ Note("The comm-central code only includes a subset of the code required to build Thunderbird, SeaMonkey and Sunbird. See Comm-central_source_code_(Mercurial) for how to get the other required code") }}

comm-central tree rules

The comm-central codebase should be stable on the tier-1 platforms at all times:

  • Automated unit tests must pass
  • Any Automated performance and leak tests must not regress
  • Any regressions are cause for immediate backout of the offending patch.
  • Developers should where possible not do test-landings into comm-central to check whether a patch regresses performance or unit tests. We have enough developers and platform coverage to test patches - try asking in irc://irc.mozilla.org/maildev The {{ mediawiki.internal('wikimo:Build:TryServer|Try server', "en") }} should be used instead.
    • It is desired that the Try Server will be updated to work for other applications (including us), for more information see {{ Bug("431375") }}

Pushing changes to comm-central

All developers who have CVS checkin access should have received an email with LDAP login details for pushing to hg.mozilla.org. If you believe you should have access to comm-central but don't know your login details, file a bug. You can use the hg push command to push changesets to the server.

  • Changes must not introduce multiple heads into comm-central
  • Please try to keep history tidy. A single commit or a few independent changesets are preferable to many "work in progress" changesets which clutter history. Consider using Mercurial queues to manage patches before checkin.
  • At least the final changeset being pushed should list the bug number and reviewer for the relevant change.
  • Changes must be pushed to ssh://hg.mozilla.org/comm-central/, check Mercurial FAQ#How do I check stuff in? for details of how to set up your configuration.

comm-central code layout

These directories are included in the comm-central repository:

  • build/ - Miscellaneous files used by the build process.
  • calendar/ - Lightning extension and Sunbird specific source code.
  • config/ - Files required for the comm-central build process.
  • directory/xpcom - An XPCOM wrapper for the LDAP c-sdk. Used for communicating with LDAP servers.
  • mail/ - Thunderbird specific source code.
  • mailnews/ - Source code specific to the Mail and Newsgroups part of Thunderbird and SeaMonkey. Some code is shared between the two apps, some is specific just to SeaMonkey.
  • other-licenses/ - Code that is not under the Mozilla tri-license (e.g. official branding) see http://www.mozilla.org/MPL/ for more info.
  • suite/ - SeaMonkey specific source code.

{{ Note("It is planned to move SeaMonkey specific code in mailnews/ to suite/, the timescale is currently undetermined") }}

These directories are included after client.py has been run:

{{ Note("For the directories currently pulled from cvs, it is expected that some of these will be made obsolete and some will be migrated to Mercurial.") }}

See also

Revision Source

<p><strong><code>comm-central</code></strong> is a <a href="/en/Mercurial" title="en/Mercurial">Mercurial</a> repository of the Thunderbird, SeaMonkey, Lightning extension and Sunbird code: <a class=" external" href="http://hg.mozilla.org/comm-central" rel="freelink">http://hg.mozilla.org/comm-central</a>.</p>
<p>The relevant <a href="/en/Tinderbox" title="en/Tinderbox">Tinderbox</a> pages are located at:</p>
<ul> <li><a class=" external" href="http://tinderbox.mozilla.org/showbuilds.cgi?tree=Thunderbird" rel="freelink">http://tinderbox.mozilla.org/showbui...ee=Thunderbird</a></li> <li><a class=" external" href="http://tinderbox.mozilla.org/showbuilds.cgi?tree=SeaMonkey" rel="freelink">http://tinderbox.mozilla.org/showbui...tree=SeaMonkey</a></li> <li><a class=" external" href="http://tinderbox.mozilla.org/showbuilds.cgi?tree=Sunbird" rel="freelink">http://tinderbox.mozilla.org/showbui...i?tree=Sunbird</a></li>
</ul>
<p>{{ Note("The comm-central code only includes a subset of the code required to build Thunderbird, SeaMonkey and Sunbird. See <a href='\"en/Comm-central_source_code_(Mercurial)\"'>Comm-central_source_code_(Mercurial)</a> for how to get the other required code") }}</p>
<h3 name="comm-central_tree_rules">comm-central tree rules</h3>
<p>The comm-central codebase should be stable on the <a href="/en/Supported_build_configurations" title="en/Supported_build_configurations">tier-1 platforms</a> at all times:</p>
<ul> <li>Automated unit tests must pass</li> <li>Any Automated performance and leak tests must not regress</li> <li>Any regressions are cause for immediate backout of the offending patch.</li> <li>Developers should where possible not do test-landings into comm-central to check whether a patch regresses performance or unit tests. We have enough developers and platform coverage to test patches - try asking in <a class=" link-irc" href="irc://irc.mozilla.org/maildev" rel="freelink">irc://irc.mozilla.org/maildev</a> <span class="comment">The {{ mediawiki.internal('wikimo:Build:TryServer|Try server', "en") }} should be used instead.</span> <ul> <li>It is desired that the Try Server will be updated to work for other applications (including us), for more information see {{ Bug("431375") }}</li> </ul> </li>
</ul>
<h3 name="Pushing_changes_to_comm-central">Pushing changes to comm-central</h3>
<p>All developers who have CVS checkin access should have received an email with LDAP login details for pushing to hg.mozilla.org. If you believe you should have access to comm-central but don't know your login details, <a class="link-https" href="https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&amp;component=Server+Operations:+Account+Requests">file a bug</a>. You can use the <code>hg push</code> command to push changesets to the server.</p>
<ul> <li>Changes must not introduce multiple heads into comm-central</li> <li>Please try to keep history tidy. A single commit or a few independent changesets are preferable to many "work in progress" changesets which clutter history. Consider using <a href="/en/Mercurial_Queues" title="en/Mercurial_Queues">Mercurial queues</a> to manage patches before checkin.</li> <li>At least the final changeset being pushed should list the bug number and reviewer for the relevant change.</li> <li>Changes must be pushed to <code><a class=" external" href="ssh://hg.mozilla.org/comm-central/" rel="freelink">ssh://hg.mozilla.org/comm-central/</a></code>, check <a href="/en/Mercurial_FAQ#How_do_I_check_stuff_in.3F" title="en/Mercurial_FAQ#How_do_I_check_stuff_in.3F">Mercurial FAQ#How do I check stuff in?</a> for details of how to set up your configuration.</li>
</ul>
<h3 name="comm-central_code_layout">comm-central code layout</h3>
<p>These directories are included in the comm-central repository:</p>
<ul> <li>build/ - Miscellaneous files used by the build process.</li> <li><a class="external" href="http://mxr.mozilla.org/comm-central/source/calendar/">calendar/</a> - Lightning extension and Sunbird specific source code.</li> <li>config/ - Files required for the comm-central build process.</li> <li>directory/xpcom - An XPCOM wrapper for the LDAP c-sdk. Used for communicating with LDAP servers.</li> <li><a class="external" href="http://wiki.mozilla.org/Thunderbird:Code_Layout">mail/</a> - Thunderbird specific source code.</li> <li><a class="external" href="http://wiki.mozilla.org/MailNews:Code_Layout">mailnews/</a> - Source code specific to the Mail and Newsgroups part of Thunderbird and SeaMonkey. Some code is shared between the two apps, some is specific just to SeaMonkey.</li> <li>other-licenses/ - Code that is not under the Mozilla tri-license (e.g. official branding) see <a class=" external" href="http://www.mozilla.org/MPL/" rel="freelink">http://www.mozilla.org/MPL/</a> for more info.</li> <li><a class="external" href="http://wiki.mozilla.org/SeaMonkey:Suite_Directory_Layout">suite/</a> - SeaMonkey specific source code.</li>
</ul>
<p>{{ Note("It is planned to move SeaMonkey specific code in mailnews/ to suite/, the timescale is currently undetermined") }}</p>
<p>These directories are included after <a href="/en/Comm-central_source_code_(Mercurial)#Checking_out_a_source_tree" title="en/Comm-central_source_code_(Mercurial)#Checking_out_a_source_tree">client.py</a> has been run:</p>
<ul> <li><a href="/en/mozilla-central" title="en/mozilla-central">mozilla/</a> - The Firefox/xulrunner code base pulled from the <a href="/en/mozilla-central" title="en/mozilla-central">mozilla-central</a> repository. See <a href="/en/Mozilla_Source_Code_Directory_Structure" title="en/Mozilla_Source_Code_Directory_Structure">Mozilla_Source_Code_Directory_Structure</a> for more details of its structure.</li> <li><a class="external" href="http://mxr.mozilla.org/seamonkey/source/extensions/typeaheadfind">mozilla/extensions/typeaheadfind</a> - "Type ahead and find" code, currently only used by SeaMonkey. Pulled from cvs using HEAD.</li> <li><a class="external" href="http://mxr.mozilla.org/seamonkey/source/extensions/wallet">mozilla/extensions/wallet</a> - The older password manager pulled from cvs using HEAD.</li> <li><a class="external" href="http://mxr.mozilla.org/seamonkey/source/directory/c-sdk">directory/c-sdk</a> - The <a href="/en/LDAP_C_SDK" title="en/LDAP_C_SDK">LDAP C SDK</a> code pulled from cvs using a branch tag (soon to be a static tag).</li> <li><a class="external" href="http://mxr.mozilla.org/seamonkey/source/extensions/irc">mozilla/extensions/irc</a> - Code for the Chatzilla extension, pulled from cvs using HEAD.</li> <li><a class="external" href="http://mxr.mozilla.org/seamonkey/source/extensions/venkamn">mozilla/extensions/venkman</a> - Code for the Venkman extension, pulled from cvs using HEAD.</li>
</ul>
<p>{{ Note("For the directories currently pulled from cvs, it is expected that some of these will be made obsolete and some will be migrated to Mercurial.") }}</p>
<h3 name="See_also">See also</h3>
<ul> <li><a href="/en/How_comm-central's_build_system_works" title="en/How_comm-central's_build_system_works">How comm-central's build system works</a></li> <li><a href="/en/Mercurial_FAQ" title="en/Mercurial_FAQ">Mercurial FAQ</a></li> <li><a href="/en/mozilla-central" title="en/mozilla-central">mozilla-central</a></li> <li><a class="link-https" href="https://bugzilla.mozilla.org/showdependencytree.cgi?id=433384&amp;hide_resolved=1">Tracking: issues making development difficult on mozilla-central</a></li>
</ul>
Revert to this revision