Differences between revisions 46 and 83 (spanning 37 versions)
Revision 46 as of 2010-10-15 06:39:30
Size: 2104
Editor: abuehl
Comment:
Revision 83 as of 2015-12-16 20:32:13
Size: 2438
Editor: KevinBullock
Comment: add link to ProjectInfrastructure
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Developer info = #pragma section-numbers 2
<<Include(A:dev)>>
Line 3: Line 4:
== General == = Developer Info =
Line 5: Line 6:
 * [[UpcomingReleaseNotes]]
 * Tips for [[ContributingChanges]] and creating [[SuccessfulPatch|SuccessfulPatches]]
 * [[ManagingBugs]] - how to work with the [[http://selenic.com/mercurial/bugs/|BTS]]
Information on working on the Mercurial code base.

<<TableOfContents>>

== 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

== Contributing code ==
 * [[ContributingChanges|Contributing changes]] - how to send us your changes
 * [[http://bz.selenic.com/buglist.cgi?keywords=easy%2C%20&keywords_type=allwords&list_id=6549&resolution=---&query_format=advanced|Easy bugs]] - tasks flagged as easy, a good entry point for new contributors
 * [[UIGuideline]] - how to make consistent UI choices
 * [[CodingStyle|Coding style]] - how to make your code pretty
 * [[WritingTests]] - how to add tests to the test suite
 * [[HelpStyleGuide]] - how to write nice help
Line 9: Line 26:
 * [[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]]
 * [[ReviewProcess]] - how you can help getting patches in
Line 23: Line 28:
=== 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.
Line 26: Line 29:
== Mercurial internals ==

 * [[DeveloperBasics]] - some basic code examples
 * [[MercurialApi]] - The public API for Mercurial
 * [[Design]] - Mercurial's data structures and how it uses them.
== Internals ==
 * [[Design]] - Mercurial's data structures and how it uses them
 * [[FileFormats]] - list of Mercurial's disk file formats
Line 32: Line 33:
 * [[FileFormats]] - list of Mercurial's disk file formats
Line 35: Line 35:
 * [[Theming]] - how to create new styles for Mercurial's web interface
 * [[WritingExtensions]] - how to write Mercurial extensions
Line 38: Line 36:
== Old stuff == == Working with the community ==
 * [[MailingLists]]
 * [[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
 * [[CategoryMeetings]] - When we get the community together (about every 6 months)
 * [[ProjectInfrastructure]] - A list of project infrastructure and who administers it
Line 40: Line 45:
 * First Mercurial [[UserSurvey]].
 * The old ToDo list and [[MissingFeatures]]
 * The pre-1.0 [[RoadMap]]
== Feature proposals ==
 * [[CategoryNewFeatures]] - All page discussing new features.

== Developer tips ==
 * [[MacOSXTools]] - Installing the tool chain on Mac OS X.
 * Using [[MercurialUnderWine|Wine]] to test Windows support under Linux
 * Easy way of starting Mercurial hacking on Windows with [[HackableMercurial]]
Line 44: Line 54:
CategoryContributing CategoryDeveloper

Note:

This page is primarily intended for developers of Mercurial.

Developer Info

Information on working on the Mercurial code base.

1. Start hacking

2. Contributing code

3. Internals

4. Working with the community

5. Feature proposals

6. Developer tips

  • MacOSXTools - Installing the tool chain on Mac OS X.

  • Using Wine to test Windows support under Linux

  • Easy way of starting Mercurial hacking on Windows with HackableMercurial


CategoryDeveloper

DeveloperInfo (last edited 2017-03-09 21:51:34 by JunWu)