vcs 0.4.0 documentation
Base for all available scm backends
| created_on: | Apr 8, 2010 |
|---|---|
| copyright: |
|
vcs.backends.base.BaseChangeset¶Each backend should implement it’s changeset representation.
Attributes
repository- repository object within which changeset exists
id- may be
raw_idor i.e. for mercurial’s tip justtipraw_id- raw changeset representation (i.e. full 40 length sha for git backend)
short_id- shortened (if apply) version of
raw_id; it would be simple shortcut forraw_id[:12]for git/mercurial backends or same asraw_idfor subversionrevision- revision number as integer
files- list of
FileNode(Nodewith NodeKind.FILE) objectsdirs- list of
DirNode(Nodewith NodeKind.DIR) objectsnodes- combined list of
Nodeobjectsauthor- author of the changeset, as unicode
message- message of the changeset, as unicode
parents- list of parent changesets
lastTrueif this is last changeset in repository,Falseotherwise; trying to access this attribute while there is no changesets would raiseEmptyRepositoryError
added¶Returns list of added FileNode objects.
as_dict()¶Returns dictionary with changeset’s attributes and their values.
Returns Author for given commit
Returns Author email address for given commit
Returns Author name for given commit
changed¶Returns list of modified FileNode objects.
children¶Returns list of children changesets.
committer¶Returns Committer for given commit
committer_email¶Returns Author email address for given commit
committer_name¶Returns Author name for given commit
fill_archive(stream=None, kind='tgz', prefix=None)¶Fills up given stream.
| Parameters: |
|
|---|
get_chunked_archive(**kwargs)¶Returns iterable archive. Tiny wrapper around fill_archive method.
| Parameters: | chunk_size – extra parameter which controls size of returned chunks. Default:8k. |
|---|
get_file_changeset(path)¶Returns last commit of the file at the given path.
get_file_content(path)¶Returns content of the file at the given path.
get_file_history(path)¶Returns history of file as reversed list of Changeset objects for
which file at given path has been modified.
get_file_mode(path)¶Returns stat mode of the file at the given path.
get_file_size(path)¶Returns size of the file at the given path.
get_filenodes_generator()¶Returns generator that yields all file nodes.
get_node(path)¶Returns Node object from the given path.
| Raises: | NodeDoesNotExistError – if there is no node at the given
path |
|---|
get_nodes(path)¶Returns combined DirNode and FileNode objects list representing
state of changeset at the given path.
| Raises: | ChangesetError – if node at the given path is not
instance of DirNode |
|---|
id¶Returns string identifying this changeset.
next(branch=None)¶Returns next changeset from current, if branch is gives it will return next changeset belonging to this branch
| Parameters: | branch – show changesets within the given named branch |
|---|
parents¶Returns list of parents changesets.
prev(branch=None)¶Returns previous changeset from current, if branch is gives it will return previous changeset belonging to this branch
| Parameters: | branch – show changesets within the given named branch |
|---|
raw_id¶Returns raw string identifying this changeset.
removed¶Returns list of removed FileNode objects.
revision¶Returns integer identifying this changeset.
root¶Returns RootNode object for this changeset.
short_id¶Returns shortened version of raw_id attribute, as string,
identifying this changeset, useful for web representation.
size¶Returns total number of bytes from contents of all filenodes.
walk(topurl='')¶Similar to os.walk method. Insted of filesystem it walks through
changeset starting at given topurl. Returns generator of tuples
(topnode, dirnodes, filenodes).
vcs.backends.base.BaseInMemoryChangeset(repository)¶Represents differences between repository’s state (most recent head) and changes made in place.
Attributes
repository- repository object for this in-memory-changeset
added- list of
FileNodeobjects marked as addedchanged- list of
FileNodeobjects marked as changedremoved- list of
FileNodeorRemovedFileNodeobjects marked to be removedparents- list of
Changesetrepresenting parents of in-memory changeset. Should always be 2-element sequence.
add(*filenodes)¶Marks given FileNode objects as to be committed.
| Raises: |
|
|---|
change(*filenodes)¶Marks given FileNode objects to be changed in next commit.
| Raises: |
|
|---|
check_integrity(parents=None)¶Checks in-memory changeset’s integrity. Also, sets parents if not already set.
| Raises: | CommitError – if any error occurs (i.e.
NodeDoesNotExistError). |
|---|
commit(message, author, parents=None, branch=None, date=None, **kwargs)¶Performs in-memory commit (doesn’t check workdir in any way) and
returns newly created Changeset. Updates repository’s
revisions.
Note
While overriding this method each backend’s should call
self.check_integrity(parents) in the first place.
| Parameters: |
|
|---|---|
| Raises: | CommitError – if any error occurs while committing |
get_ipaths()¶Returns generator of paths from nodes marked as added, changed or removed.
get_paths()¶Returns list of paths from nodes marked as added, changed or removed.
remove(*filenodes)¶Marks given FileNode (or RemovedFileNode) objects to be
removed in next commit.
| Raises: |
|
|---|
reset()¶Resets this instance to initial state (cleans added, changed
and removed lists).
vcs.backends.base.BaseRepository(repo_path, create=False, **kwargs)¶Base Repository for final backends
Attributes
DEFAULT_BRANCH_NAME- name of default branch (i.e. “trunk” for svn, “master” for git etc.
scm- alias of scm, i.e. git or hg
repo- object from external api
revisions- list of all available revisions’ ids, in ascending order
changesets- storage dict caching returned changesets
path- absolute path to the repository
branches- branches as list of changesets
tags- tags as list of changesets
Initializes repository. Raises RepositoryError if repository could
not be find at the given repo_path or directory at repo_path
exists and create is set to True.
| Parameters: |
|
|---|
add(filenode, **kwargs)¶Commit api function that will add given FileNode into this
repository.
| Raises: |
|
|---|
commit(message, **kwargs)¶Persists current changes made on this repository and returns newly created changeset.
| Raises: | NothingChangedError – if no changes has been made |
|---|
get_changeset(revision=None)¶Returns instance of Changeset class. If revision is None, most
recent changeset is returned.
| Raises: | EmptyRepositoryError – if there are no revisions |
|---|
get_changesets(start=None, end=None, start_date=None, end_date=None, branch_name=None, reverse=False)¶Returns iterator of MercurialChangeset objects from start to end
not inclusive This should behave just like a list, ie. end is not
inclusive
| Parameters: |
|
|---|
get_config_value(section, name, config_file=None)¶Returns configuration value for a given [section] and name.
| Parameters: |
|
|---|
get_diff(rev1, rev2, path=None, ignore_whitespace=False, context=3)¶Returns (git like) diff, as plain text. Shows changes introduced by
rev2 since rev1.
| Parameters: |
|
|---|
get_state()¶Returns dictionary with added, changed and removed lists
containing FileNode objects.
get_user_email(config_file=None)¶Returns user’s email from global configuration file.
| Parameters: | config_file – A path to file which should be used to retrieve configuration from (might also be a list of file paths) |
|---|
get_user_name(config_file=None)¶Returns user’s name from global configuration file.
| Parameters: | config_file – A path to file which should be used to retrieve configuration from (might also be a list of file paths) |
|---|
in_memory_changeset¶Returns InMemoryChangeset object for this repository.
is_valid()¶Validates repository.
remove(filenode, **kwargs)¶Commit api function that will remove given FileNode into this
repository.
| Raises: |
|
|---|
remove_tag(name, user, message=None, date=None)¶Removes tag with the given name.
| Parameters: |
|
|---|---|
| Raises: | TagDoesNotExistError – if tag with given name does not exists |
size¶Returns combined size in bytes for all repository files
tag(name, user, revision=None, message=None, date=None, **opts)¶Creates and returns a tag for the given revision.
| Parameters: |
|
|---|---|
| Raises: | TagAlreadyExistError – if tag with same name already exists |
workdir¶Returns Workdir instance for this repository.
vcs.backends.base.BaseWorkdir(repository)¶Working directory representation of single repository.
| Attribute: | repository: repository object of working directory |
|---|
checkout_branch(branch=None)¶Checks out branch or the backend’s default branch.
Raises BranchDoesNotExistError if the branch does not exist.
commit(message, **kwargs)¶Commits local (from working directory) changes and returns newly
created
Changeset. Updates repository’s revisions list.
| Raises: | CommitError – if any error occurs while committing |
|---|
get_added()¶Returns list of FileNode objects marked as new in working
directory.
get_branch()¶Returns name of current branch.
get_changed()¶Returns list of FileNode objects changed in working directory.
get_changeset()¶Returns current changeset.
get_removed()¶Returns list of RemovedFileNode objects marked as removed in
working directory.
get_status()¶Returns dict with added, changed, removed and untracked
lists.
get_untracked()¶Returns list of FileNode objects which are present within working
directory however are not tracked by repository.
update(revision=None)¶Fetches content of the given revision and populates it within working directory.
vcs.backends.base.EmptyChangeset(cs='0000000000000000000000000000000000000000', repo=None, requested_revision=None, alias=None, revision=-1, message='', author='', date=None)¶An dummy empty changeset. It’s possible to pass hash when creating an EmptyChangeset
raw_id¶Returns raw string identifying this changeset, useful for web representation.