hgapi Package¶
hgapi
Module¶
- exception hgapi.hgapi.HgException(msg, exit_code=None)[source]¶
Exception class allowing a exit_code parameter and member to be used when calling Mercurial to return exit code.
- class hgapi.hgapi.Repo(path, user=None)[source]¶
A representation of a Mercurial repository.
- classmethod command(path, env, *args)[source]¶
Run a hg command in path and return the result.
Raise on error.
- configbool(section, key)[source]¶
Return a config value as a boolean value.
Empty values, the string ‘false’ (any capitalization), and ‘0’ are considered False, anything else is True
- configlist(section, key)[source]¶
Return a config value as a list.
Will try to create a list delimited by commas, or whitespace if no commas are present.
- get_branches()[source]¶
Returns a list of branches from the repo, including versions.
If get_active_only is True, then only return active branches.
- hg_add(filepath=None)[source]¶
Add a file to the repo.
when no filepath is given, all files are added to the repo.
- hg_addremove(filepath=None)[source]¶
Add a file to the repo.
When no filepath is given, all files are added and removed to and respectively from the repo.
- hg_archive(destination, revision=None, archive_type=None)[source]¶
Archive a repository.
Creates an archive of a single revision in the specified destination.
If revision is not supplied the default is the parent of the repository’s working directory (tip).
If archive_type is not supplied mercurial will determine the type based on the file extension. If there is no file extension the default is “files”.
- hg_branch(branch_name=None)[source]¶
Create a branch or get a branch name.
If branch_name is not None, the branch is created. Otherwise the current branch name is returned.
- classmethod hg_clone(url, path, *args)[source]¶
Clone repository at given url to path, then return repo object to path.
- hg_commit(message, user=None, date=None, files=[], close_branch=False, amend=False, message_file=None)[source]¶
Commit changes to the repository.
- hg_diff(rev_a=None, rev_b=None, filenames=None)[source]¶
Get a unified diff as returned by ‘hg diff’.
rev_a and rev_b are passed as -r <rev> arguments to the call, filenames are expected to be an iterable of file names.
Returns a list of dicts where every dict has a ‘filename’ and ‘diff’ field, where with diff being the complete diff for the file including header (diff -r xxxx -r xxx…).
- hg_heads(short=False)[source]¶
Get a list with the node identifiers of all open heads. If short is given and is not False, return the short form of the node id.
- hg_log(identifier=None, limit=None, template=None, branch=None, **kwargs)[source]¶
Get repositiory log.
- hg_merge(reference, preview=False)[source]¶
Merge reference to current.
With ‘preview’ set to True get a list of revision numbers containing all revisions that would have been merged.
- classmethod hg_root(path)[source]¶
Return the root (top) of the path.
When no path is given, current working directory is used. Raises HgException when no repo is available.
- hg_status(empty=False, clean=False)[source]¶
Get repository status.
Returns a dict containing a change char -> file list mapping, where change char is in:
A, M, R, !, ?
Example after adding one.txt, modifying a_folder/two.txt and three.txt:
{'A': ['one.txt'], 'M': ['a_folder/two.txt', 'three.txt'], '!': [], '?': [], 'R': []}
If empty is set to non-False value, don’t add empty lists. If clean is set to non-False value, add clean files as well (-A)
- hg_tag(*tags, **kwargs)[source]¶
Add one or more tags to the current revision.
Add one or more tags to the current revision, or revision given by passing ‘rev’ as a keyword argument:
>>> repo.hg_tag('mytag', rev=3)