Note:

This page is primarily intended for developers of Mercurial.

cHg Porting Plan

Steps to merge cHg into the Mercurial tree.

1. How to Merge

Perhaps (B) is the best.

  1. single big commit
    • {o} hard to review

  2. reorganize as 10+ patches (base implementation, pager, setenv, sendfds, ...)
    • {*} can improve the code incrementally

  3. pull, rename and merge
    • {o} messy

  4. convert with filemap and rebase
    • {o} messy

2. Source Layout

Perhaps (A) is better because we don't have to worry about the extension path.

Original:

README
hgext/chgserver.py
      chgutil.c
src/Makefile
    chg.c
    hgclient.[ch]
    util.[ch]

A. Merge extension part:

contrib/chg/Makefile
            README
            chg.c
            hgclient.[ch]
            util.[ch]
hgext/chgserver.py
mercurial/osutil.c <- chgutil.c

B. Put everything under contrib/chg:

contrib/chg/hgext/...
            src/...

3. Coding Style

Current state:

What to do:

4. Random Thoughts


CategoryDeveloper CategoryNewFeatures