Size: 2019
Comment: Used funny link style for consistency :-)
|
Size: 1842
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
== General == | #pragma section-numbers 2 = Developer Info = |
Line 3: | Line 4: |
* [: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" |
Information on working on the Mercurial code base. |
Line 20: | Line 6: |
=== 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. |
/!\ This page is obviously intended for developers. |
Line 23: | Line 8: |
== Mercurial Internals == | <<TableOfContents>> |
Line 25: | Line 10: |
* [:DeveloperBasics] - some basic code examples * [:MercurialApi] - The public API for Mercurial * [:Design] - Mercurial's data structures and how it uses them. * [:WhatGoesWhere] - the project architecture * [:FileFormats] - list of Mercurial's disk file formats * [:WireProtocol] - the push/pull changegroup protocol * [:DebuggingFeatures] - how to poke around in Mercurial's internals * [:Theming] - how to create new styles for Mercurial's web interface * [:WritingExtensions] - how to write Mercurial extensions |
== Start hacking == * [[http://selenic.com/hg|Main repository]] - browse or clone the source (see [[DeveloperRepos]] for other repositories) * [[WritingExtensions]] - how to write Mercurial extensions * [[Theming]] - how to create new styles for Mercurial's web interface * [[DeveloperBasics]] - some basic code examples * [[MercurialApi]] - The internal API for Mercurial * [[TranslatingMercurial]] - how to translate Mercurial into your own language |
Line 35: | Line 18: |
== Old Stuff == | == Contributing code == * [[ContributingChanges|Contributing changes]] - how to send us your changes * [[CodingStyle|Coding style]] - how to make your code pretty * [[WritingTests]] - how to add tests to the test suite * [[CompatibilityRules]] - how we keep our existing users from crying |
Line 37: | Line 24: |
* First Mercurial [:UserSurvey]. * The old ToDo list and [:MissingFeatures] * The pre-1.0 [:RoadMap] |
== 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 == Working with the community == * [[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 |
Line 41: | Line 46: |
CategoryContributing | CategoryDeveloper |
Developer Info
Information on working on the Mercurial code base.
This page is obviously intended for developers.
Contents
1. Start hacking
Main repository - browse or clone the source (see DeveloperRepos for other repositories)
WritingExtensions - how to write Mercurial extensions
Theming - how to create new styles for Mercurial's web interface
DeveloperBasics - some basic code examples
MercurialApi - The internal API for Mercurial
TranslatingMercurial - how to translate Mercurial into your own language
2. Contributing code
Contributing changes - how to send us your changes
Coding style - how to make your code pretty
WritingTests - how to add tests to the test suite
CompatibilityRules - how we keep our existing users from crying
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