Size: 2101
Comment:
|
Size: 1865
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#pragma section-numbers 2 | |
Line 3: | Line 4: |
== General == | Information on working on the Mercurial code base. |
Line 5: | Line 6: |
* [[UpcomingReleaseNotes]] * Tips for [[ContributingChanges]] and creating [[SuccessfulPatch|SuccessfulPatches]] * [[ManagingBugs]] - how to work with the [[http://selenic.com/mercurial/bugs/|BTS]] * [[CompatibilityRules]] - how we keep our existing users from crying * [[OptionNaming]] - the conventions used to name command-line options * [[BasicCodingStyle]] - how to keep [[mpm]] from being grumpy with your code * [[WritingTests]] - how to add tests to the test suite * [[TranslatingMercurial]] - how to translate Mercurial into your own language * [[DevelopmentGuidelines]] - other things we try to follow when writing code * [[DeveloperRepos]] - where to find various public repositories of Mercurial work * [[NewFeatureDiscussions]] - A page of links to discussions about new features. * [[NewIdeas]] - Suggestions for features/extensions that would make someone happy * A list of [[Presentations]] and other related events. * [[MacOSXTools]] - Installing the tool chain on Mac OS X. * [[SummerOfCode]] * [[ProductName]] for the rules on using the name "Mercurial" * [[TimeBasedReleasePlan]] |
/!\ This page is obviously intended for developers. |
Line 23: | Line 8: |
=== Modules in C === * [[http://selenic.com/pipermail/mercurial-devel/2008-September/007985.html|September 2008 posting by Matt]] about how to do initializers and error handling in C modules. |
<<TableOfContents>> |
Line 26: | Line 10: |
== Mercurial internals == |
== Start hacking == * [[WritingExtensions]] - how to write Mercurial extensions * [[Theming]] - how to create new styles for Mercurial's web interface |
Line 30: | Line 15: |
* [[Design]] - Mercurial's data structures and how it uses them. | * [[TranslatingMercurial]] - how to translate Mercurial into your own language == Contributing code == * [[BasicCodingStyle|Basic coding style]] - how to keep [[mpm]] from being grumpy with your code * Tips for [[ContributingChanges|contributing changes]] and creating [[SuccessfulPatch|successful patches]] * [[WritingTests]] - how to add tests to the test suite * [[CompatibilityRules]] - how we keep our existing users from crying * [[DevelopmentGuidelines]] - other things we try to follow when writing code == Internals == * [[Design]] - Mercurial's data structures and how it uses them * [[FileFormats]] - list of Mercurial's disk file formats |
Line 32: | Line 29: |
* [[FileFormats]] - list of Mercurial's disk file formats | |
Line 35: | Line 31: |
* [[Theming]] - how to create new styles for Mercurial's web interface * [[WritingExtensions]] - how to write Mercurial extensions |
|
Line 38: | Line 32: |
== Old stuff == | == Working with the community == |
Line 40: | Line 34: |
* First Mercurial [[UserSurvey]]. * The old ToDo list and [[MissingFeatures]] * The pre-1.0 [[RoadMap]] |
* [[ManagingBugs]] - how to work with the [[BugTracker|bug tracker]] * [[TimeBasedReleasePlan]] * [[DeveloperRepos]] - where to find various public repositories of Mercurial work * [[IRC]] - where most of the developers hang out == Feature proposals == * [[NewFeatureDiscussions]] - A page of links to discussions about new features. == Developer tips == * [[MacOSXTools]] - Installing the tool chain on Mac OS X. * Using [[MercurialUnderWine|Wine]] to tests Windows support under Linux |
Developer Info
Information on working on the Mercurial code base.
This page is obviously intended for developers.
Contents
1. Start hacking
WritingExtensions - how to write Mercurial extensions
Theming - how to create new styles for Mercurial's web interface
DeveloperBasics - some basic code examples
MercurialApi - The public API for Mercurial
TranslatingMercurial - how to translate Mercurial into your own language
2. Contributing code
Basic coding style - how to keep mpm from being grumpy with your code
Tips for contributing changes and creating successful patches
WritingTests - how to add tests to the test suite
CompatibilityRules - how we keep our existing users from crying
DevelopmentGuidelines - other things we try to follow when writing code
3. Internals
Design - Mercurial's data structures and how it uses them
FileFormats - list of Mercurial's disk file formats
WhatGoesWhere - the project architecture
WireProtocol - the push/pull changegroup protocol
DebuggingFeatures - how to poke around in Mercurial's internals
4. Working with the community
ManagingBugs - how to work with the bug tracker
DeveloperRepos - where to find various public repositories of Mercurial work
IRC - where most of the developers hang out
5. Feature proposals
NewFeatureDiscussions - A page of links to discussions about new features.
6. Developer tips
MacOSXTools - Installing the tool chain on Mac OS X.
Using Wine to tests Windows support under Linux