A C library for interfacing with Mercurial's CommandServer.
1. Getting the source
You can clone the package from its primary repository c-hglib.
Also you can take a look on c-hglib documentation.
2. 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 patchbomb.
Meanwhile I started to make a sketch for level 1. You can also see and comment on this sketch over here.
I had made a sketch for level 1 log_command
3. My start points will be
4. Directory tree
. ├── examples │ └── level0.c ├── hglib │ ├── main.c │ ├── Makefile │ ├── client.c │ ├── client.h │ ├── utils.c │ └── utils.h ├── README.md └── Makefile
5. Reporting bugs
Bugs can be reported on bitbucket-issue list.