Compatibility Rules

Mercurial has been used in production by major [:ProjectsUsingMercurial:software projects] since a couple months after its initial release. Thus, Mercurial has always made a serious effort to be backward compatible from release to release and from platform to platform with a minimum of surprises.

Here's an attempt to distill what our rules are:

TableOfContents

1. File formats and layout

1.1. Path separator

All file system directory paths internal to Mercurial (in dirstate, changelog, manifest, in copy records, over the wire, etc.) are assumed to have a "/" path separator on all platforms (including Windows).

2. Commands

3. Config Options

4. Hooks

5. Extensions

6. Wire protocol

7. Web interface

8. Internal API

See also: MercurialApi


CategoryContributing