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):
hg_handle* hg_open(const char *path, char *encoding, char *configs);
- More const. Misplaced *. What is configs?
- What if we want to run a command without a repository, like init or clone?
int hg_rawcommand(hg_handle *handle, const char *command);
- How do we pass args with spaces?
- How do we get exit codes?
- How do we send input to a command like 'hg import -'?
- How do we handle interactive commands like merge?
- How do we get error output and warnings?
C-hglib – Level 0 , API proposal mail (http://mercurial.markmail.org/thread/f5irmijzatlephtw):
- What does this return? ( The return values for all API functions )
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?
- Story for :
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
- Do you see the * on the left? ( pointer issue)
- How do I set encoding for the connection?
- Will this do the right thing? If so, how?(adding file with space issue)
- How do I get the prompt questions displayed to the user and get the user answers back?
- 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):
- Action-header, what is an action-header ?
- so wpipe is server stdin, rpipe is server stdout. Were have stderr been?
- "The repository in which I am", do you mean the first repository found in PWD hierarchy?
- What is the default encoding?