community.general.hg module – Manages Mercurial (hg) repositories
Note
This module is part of the community.general collection (version 11.4.0).
You might already have this collection installed if you are using the ansible package.
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install community.general.
To use it in a playbook, specify: community.general.hg.
Synopsis
- Manages Mercurial (hg) repositories. Supports SSH, HTTP/S and local address. 
Parameters
| Parameter | Comments | 
|---|---|
| If  Choices: 
 | |
| Absolute path of where the repository should be cloned to. This parameter is required, unless clone and update are set to no. | |
| Path to  | |
| Discards uncommitted changes. Runs  Choices: 
 | |
| Deletes untracked files. Runs  Choices: 
 | |
| The repository address. | |
| Equivalent  | |
| If  Choices: 
 | 
Attributes
| Attribute | Support | Description | 
|---|---|---|
| Support: none | Can run in  | |
| Support: none | Returns details on what has changed (or possibly needs changing in  | 
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 prompts 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_hostsbefore calling the hg module, with the following command:- ssh-keyscan remote_host.com >> /etc/ssh/ssh_known_hosts.
- As per 01 Dec 2018, Bitbucket has dropped support for TLSv1 and TLSv1.1 connections. As such, if the underlying system still uses a Python version below 2.7.9, you are bound to have issues checking out bitbucket repositories. See https://bitbucket.org/blog/deprecating-tlsv1-tlsv1-1-2018-12-01. 
Examples
- name: Ensure the current working copy is inside the stable branch and deletes untracked files if any.
  community.general.hg:
    repo: https://bitbucket.org/user/repo1
    dest: /home/user/repo1
    revision: stable
    purge: true
- name: Get information about the repository whether or not it has already been cloned locally.
  community.general.hg:
    repo: git://bitbucket.org/user/repo
    dest: /srv/checkout
    clone: false
    update: false
