sapling/eden/hooks/README.md
Michael Bolin 0f4ba60602 Update the hg/post-clone hook to write the .hg/dirstate file.
Summary:
Now that we make use of the `.hg/dirstate` file, we should ensure that it is
initialized correctly. This takes the commit hash from the `SNAPSHOT` file and
passes it as an argument to the `post-clone` hook. In the Hg `post-clone` hook,
it writes the `.hg/dirstate` file such that the first 20 bytes are the binary
version of the commit hash and the next 20 bytes are nul bytes.

Reviewed By: simpkins

Differential Revision: D6174440

fbshipit-source-id: 29d17f88ca3f63fa6490e1db88bc2121aced74d6
2017-10-27 13:35:26 -07:00

1.0 KiB

Eden hooks

When Eden is deployed, the output of generate-hooks-dir should be installed in /etc/eden/hooks.

By default, Eden will look in /etc/eden/hooks for hooks. This can be overridden by specifying hooks in the [repository] section of an ~/.edenrc.

Note that hooks may require additional configuration. Hook authors should encourage users to specify such configuration in ~/.edenrc. This can be read from the hook via eden config.

The following files will be recognized in the hooks directory for the appropriate event:

post-clone

This will be run after eden clone. If the <repo_type> is .hg, the script is responsible for creating the .hg directory in the root of the Eden mount. It will receive the following arguments:

/etc/eden/hooks/hg/post-clone <repo_type> <eden_checkout> <repo>
  • <repo_type> is hg or git
  • <eden_checkout> is the path to the mounted Eden checkout.
  • <repo> is the path to the original Mercurial repository.
  • <hash> is the hex id of the initial commit