#pragma section-numbers 2 = C-Hglib = A C library for interfacing with Mercurial's CommandServer. <> == Getting the source == You can clone the package from its primary repository [[https://bitbucket.org/mpmselenic/c-hglib|c-hglib]]. Also you can take a look on c-hglib [[http://swarm.cs.pub.ro/~istana/c-hglib/html|documentation]]. == Plan to build c-hglib == The implementation was split in three steps: * level 0 also called row level * pass a raw command string, get unparsed results * level 1 also called command level * function per command, returns results in native C datatypes * level 2 also called "object" level * emulate important Mercurial internal APIs like contexts with a native C paradigm For the moment level 0 is in the accepting phase, I need to get reviews before declared finished. You can see and review level 0 on this [[http://markmail.org/thread/hixvvvcpklfjnqze|patchbomb]]. Meanwhile I started to make a sketch for level 1. You can also see and comment on this sketch over [[http://markmail.org/message/pofplkyodyoxp5mq|here]]. I had made a sketch for level 1 [[http://bpaste.net/show/mLt3zmFSyKvmx0tY0Qpa|log_command]] == My start points will be == *[[http://mercurial.selenic.com/wiki/CommandServer|CommandServer]] *[[http://www.selenic.com/repo/python-hglib/file/ca5f8f43e585/|python-hglib]] *[[http://bitbucket.org/yuja/chg/src|chg]] == Directory tree == {{{ . ├── examples │ └── level0.c ├── hglib │ ├── main.c │ ├── Makefile │ ├── client.c │ ├── client.h │ ├── utils.c │ └── utils.h ├── README.md └── Makefile }}} == Reporting bugs == Bugs can be reported on [[https://bitbucket.org/istana/c-hglib/issues?status=new&status=open|bitbucket-issue list]]. == See also == * CommandServer * MercurialApi * PythonHglib