Differences between revisions 7 and 8
Revision 7 as of 2013-08-12 10:57:22
Size: 1834
Editor: 5-12-22-129
Comment:
Revision 8 as of 2013-08-12 15:57:14
Size: 1927
Editor: 5-12-22-129
Comment:
Deletions are marked like this. Additions are marked like this.
Line 28: Line 28:
I had made a sketch for level 1 [[http://bpaste.net/show/mLt3zmFSyKvmx0tY0Qpa|log_command]]

C-Hglib

A C library for interfacing with Mercurial's CommandServer.

1. Getting the source

You can clone the packeage 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 starts 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.

6. See also

C-Hglib (last edited 2014-11-11 22:05:57 by rcl)