HTTP commands are sent as CGI requests having the following form: {{{ GET /hgweb.cgi?cmd=foo¶m1=bar HTTP/1.1 }}} Results are returned with the Content-Type application/mercurial-0.1. The best way to explore the protocol is to run `hg serve` in a terminal, then try out the various commands. Errors, such as missing parameters, will be logged in the terminal window, including source references. = Available commands = The available commands can be seen marked with `@wireprotocommand` in [[Source:mercurial/wireprotov1server.py]], along with arguments. === lookup === Given a changeset reference (given by the `key` parameter), yields the [[ChangeSetID|changeset ID]]. Returns a status code (1 on success, 0 on failure) and a result (the changeset ID or error message). Examples: {{{ $ curl 'https://www.mercurial-scm.org/repo/hello?cmd=lookup&key=0' 1 0a04b987be5ae354b710cefeba0e2d9de7ad41a9 $ curl 'https://www.mercurial-scm.org/repo/hello?cmd=lookup&key=33d290cc14ae48c8c18d2a2c9dfae99728ee0cff' 0 unknown revision '33d290cc14ae48c8c18d2a2c9dfae99728ee0cff' $ curl 'https://www.mercurial-scm.org/repo/hello?cmd=lookup&key=tip' 1 82e55d328c8ca4ee16520036c0aaace03a5beb65 }}} === heads === Returns a space separated list of [[ChangeSetID|changeset ID]] identifying all the heads in the repository. Takes no parameters === branches === === changegroup === === changegroupsubset === === between === === capabilities === Accepts no parameters. Returns a whitespace-separated list of other commands accepted by this server. For the ''unbundle'' command, produces the form unbundle=HG10GZ,HG10BZ,HG10UN if all three compression schemes are supported. === unbundle === Usage: {{{ POST /hgweb.cgi?cmd=unbundle&heads=HEADS HTTP/1.1 content-type: application/octet-stream }}} This command allows for the upload of new changes to the repository. The body of the POST request must be a changegroup in BundleFormat. The returned output is the same as what the ''hg unbundle'' command would print to standard output if it was being run locally. === stream_out === ---- CategoryInternals