community.general.hg module – Manages Mercurial (hg) repositories
Note
This module is part of the community.general collection (version 9.4.0).
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 hg executable to use. If not supplied, the normal mechanism for resolving binary paths will be used. |
|
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 |
Will return 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 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.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 will 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