salt.fileserver.hgfs

Mercurial Fileserver Backend

To enable, add hg to the fileserver_backend option in the Master config file.

fileserver_backend:
  - hg

After enabling this backend, branches, bookmarks, and tags in a remote mercurial repository are exposed to salt as different environments. This feature is managed by the fileserver_backend option in the salt master config file.

This fileserver has an additional option hgfs_branch_method that will set the desired branch method. Possible values are: branches, bookmarks, or mixed. If using branches or mixed, the default branch will be mapped to base.

Changed in version 2014.1.0: The hgfs_base master config parameter was added, allowing for a branch other than default to be used for the base environment, and allowing for a base environment to be specified when using an hgfs_branch_method of bookmarks.

depends:
  • mercurial
  • python bindings for mercurial (python-hglib)
salt.fileserver.hgfs.clear_cache()

Completely clear hgfs cache

salt.fileserver.hgfs.clear_lock(remote=None)

Clear update.lk

remote can either be a dictionary containing repo configuration information, or a pattern. If the latter, then remotes for which the URL matches the pattern will be locked.

salt.fileserver.hgfs.dir_list(load)

Return a list of all directories on the master

salt.fileserver.hgfs.envs(ignore_cache=False)

Return a list of refs that can be used as environments

salt.fileserver.hgfs.file_hash(load, fnd)

Return a file hash, the hash type is set in the master config file

salt.fileserver.hgfs.file_list(load)

Return a list of all files on the file server in a specified environment

salt.fileserver.hgfs.file_list_emptydirs(load)

Return a list of all empty directories on the master

salt.fileserver.hgfs.find_file(path, tgt_env='base', **kwargs)

Find the first file to match the path and ref, read the file out of hg and send the path to the newly cached file

salt.fileserver.hgfs.init()

Return a list of hglib objects for the various hgfs remotes

salt.fileserver.hgfs.lock(remote=None)

Place an update.lk

remote can either be a dictionary containing repo configuration information, or a pattern. If the latter, then remotes for which the URL matches the pattern will be locked.

salt.fileserver.hgfs.serve_file(load, fnd)

Return a chunk from a file based on the data received

salt.fileserver.hgfs.update()

Execute an hg pull on all of the repos