Documentation

hg - Manages Mercurial (hg) repositories

Synopsis

  • Manages Mercurial (hg) repositories. Supports SSH, HTTP/S and local address.

Parameters

Parameter
Choices/Defaults
Comments
clone
(added in 2.3)
    Choices:
  • no
  • yes ←
If no, do not clone the repository if it does not exist locally.
dest
required
Absolute path of where the repository should be cloned to. This parameter is required, unless clone and update are set to no
executable
(added in 1.4)
Path to hg executable to use. If not supplied, the normal mechanism for resolving binary paths will be used.
force
    Choices:
  • no ←
  • yes
Discards uncommitted changes. Runs hg update -C. Prior to 1.9, the default was `yes`.
purge
    Choices:
  • no ←
  • yes
Deletes untracked files. Runs hg purge.
repo
required
The repository address.

aliases: name
revision
Equivalent -r option in hg command which could be the changeset, revision number, branch name or even tag.

aliases: version
update
(added in 2.0)
    Choices:
  • no
  • yes ←
If no, do not retrieve new revisions from the origin repository

Notes

Note

  • This module does not support push capability. See https://github.com/ansible/ansible/issues/31156.
  • If the task seems to be hanging, first verify remote host is in known_hosts. SSH will prompt user to authorize the first contact with a remote host. To avoid this prompt, one solution is to add the remote host public key in /etc/ssh/ssh_known_hosts before calling the hg module, with the following command: ssh-keyscan remote_host.com >> /etc/ssh/ssh_known_hosts.

Examples

- name: Ensure the current working copy is inside the stable branch and deletes untracked files if any.
  hg:
    repo: https://bitbucket.org/user/repo1
    dest: /home/user/repo1
    revision: stable
    purge: yes

- name: Get information about the repository whether or not it has already been cloned locally.
  hg:
    repo: git://bitbucket.org/user/repo
    dest: /srv/checkout
    clone: no
    update: no

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Author

  • Yeukhon Wong (@yeukhon)

Hint

If you notice any issues in this documentation you can edit this document to improve it.