Through time I had received lots of question about C-hglib project. I made this page to counter those question and to have them in a single place. Initial commit mail (http://markmail.org/thread/ism45s5vp7jsbp5u): 1. `hg_handle* hg_open(const char *path, char *encoding, char *configs);` More const. Misplaced *. What is configs? 1. What if we want to run a command without a repository, like init or clone? 1. `int hg_rawcommand(hg_handle *handle, const char *command);` How do we pass args with spaces? 1. How do we get exit codes? 1. How do we send input to a command like 'hg import -'? 1. How do we handle interactive commands like merge? 1. How do we get error output and warnings? C-hglib – Level 0 , API proposal mail (http://mercurial.markmail.org/thread/f5irmijzatlephtw): 1.#8 What does this return? ( The return values for all API functions ) 1. {{{ int hg_close(hg_handle *handle); /* The function returns 0 if successful, * -1 to indicate an error, with errno set appropriately. */ }}} What sorts of errors might we encounter? 1. Story for : a. hg init <- doesn't start with a repo b. hg log <- can produce huge output c. hg import - <- wants a patch fed to it from client d. hg merge <- has prompts e. hg verify <- might give warnings intermixed with output 1. Do you see the * on the left? ( pointer issue) 1. How do I set encoding for the connection? 1. Will this do the right thing? If so, how?(adding file with space issue) 1. How do I get the prompt questions displayed to the user and get the user answers back? 1. Limiting the amount of data sounds sensible, but why write it to a file? What about a cursor-like interface, similar to those returned by SQL queries? Header patchbomb mail (http://mercurial.markmail.org/thread/qsfwzmxzzs4ekuuv): 1.#16 Action-header, what is an action-header ? 1. so wpipe is server stdin, rpipe is server stdout. Were have stderr been? 1. "The repository in which I am", do you mean the first repository found in PWD hierarchy? 1. What is the default encoding?