Differences between revisions 10 and 12 (spanning 2 versions)
Revision 10 as of 2013-08-26 15:46:44
Size: 1927
Editor: alex hunsley
Comment: Vandalism
Revision 12 as of 2014-11-11 22:05:57
Size: 1958
Editor: rcl
Comment: fix spelling, add section numbers
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma section-numbers 2
Line 9: Line 11:
You can clone the packeage from its primary repository [[https://bitbucket.org/istana/c-hglib|c-hglib]]. You can clone the package from its primary repository [[https://bitbucket.org/mpmselenic/c-hglib|c-hglib]].
Line 30: Line 32:
== My starts points will be == == My start points will be ==


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.

6. See also

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