Package gbp :: Package deb :: Module git :: Class DebianGitRepository
[hide private]
[frames] | no frames]

Class DebianGitRepository

                  object --+    
                           |    
git.repository.GitRepository --+
                               |
                              DebianGitRepository

A git repository that holds the source of a Debian package

Instance Methods [hide private]
 
__init__(self, path)
x.__init__(...) initializes x; see help(type(x)) for signature
str
find_version(self, format, version)
Check if a certain version is stored in this repo and return the SHA1 of the related commit.
 
debian_version_from_upstream(self, upstream_tag_format, commit='HEAD', epoch=None)
Build the Debian version that a package based on upstream commit commit would carry taking into account a possible epoch.
Bool
has_pristine_tar_branch(self)
Wheter the repo has a pristine-tar branch.

Inherited from git.repository.GitRepository: archive, clean, collect_garbage, force_head, get_author_info, get_config, is_clean, is_empty, rev_parse, status

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

    Branches and Merging

Inherited from git.repository.GitRepository: branch_contains, create_branch, delete_branch, get_branch, get_local_branches, get_merge_base, get_merge_branch, get_remote_branches, get_upstream_branch, has_branch, is_fast_forward, merge, rename_branch, set_branch, set_upstream_branch, update_ref

Inherited from git.repository.GitRepository (private): _get_branches

    Tags

Inherited from git.repository.GitRepository: create_tag, delete_tag, describe, find_tag, get_tags, has_tag, move_tag, verify_tag

    Trees

Inherited from git.repository.GitRepository: checkout, get_obj_type, has_treeish, list_tree, make_tree, write_tree

    Remote Repositories

Inherited from git.repository.GitRepository: add_remote_repo, fetch, get_remote_repos, get_remotes, has_remote_repo, pull, push, push_tag, remove_remote_repo

    Files

Inherited from git.repository.GitRepository: add_files, list_files, remove_files, write_file

    Comitting

Inherited from git.repository.GitRepository: commit_all, commit_dir, commit_files, commit_staged, commit_tree, create_tree

Inherited from git.repository.GitRepository (private): _commit

    Commit Information

Inherited from git.repository.GitRepository: get_commit_info, get_commits, get_subject, grep_log, show

    Patches

Inherited from git.repository.GitRepository: apply_patch, diff, diff_status, format_patches

    Submodules

Inherited from git.repository.GitRepository: add_submodule, get_submodules, has_submodules, update_submodules

Class Methods [hide private]
    Repository Creation

Inherited from git.repository.GitRepository: clone, create

Static Methods [hide private]
 
_build_legacy_tag(format, version)
Legacy tags (prior to 0.5.5) dropped epochs and didn't honor the '~'
 
version_to_tag(format, version)
Generate a tag from a given format and a version
 
_sanitize_version(version)
sanitize a version so git accepts it as a tag
 
tag_to_version(tag, format)
Extract the version from a tag

Inherited from git.repository.GitRepository: strip_sha1

Instance Variables [hide private]

Inherited from git.repository.GitRepository (private): _bare, _path

Properties [hide private]
  pristine_tar_branch
The name of the pristine-tar branch, whether it already exists or not.

Inherited from git.repository.GitRepository: bare, branch, git_dir, head, path, tags

Inherited from object: __class__

Method Details [hide private]

__init__(self, path)
(Constructor)

 

x.__init__(...) initializes x; see help(type(x)) for signature

Raises:
Overrides: object.__init__
(inherited documentation)

find_version(self, format, version)

 

Check if a certain version is stored in this repo and return the SHA1 of the related commit. That is, an annotated tag is dereferenced to the commit object it points to.

For legacy tags don't only check the tag itself but also the commit message, since the former wasn't injective until release 0.5.5. You only need to use this function if you also need to check for legacy tags.

Parameters:
  • format (str) - tag pattern
  • version (str) - debian version number
Returns: str
sha1 of the commit the tag references to

debian_version_from_upstream(self, upstream_tag_format, commit='HEAD', epoch=None)

 

Build the Debian version that a package based on upstream commit commit would carry taking into account a possible epoch.

Parameters:
  • upstream_tag_format (str) - the tag format on the upstream branch
  • commit - the commit to search for the latest upstream version
  • epoch - an epoch to use
Returns:
a new debian version
Raises:

_build_legacy_tag(format, version)
Static Method

 

Legacy tags (prior to 0.5.5) dropped epochs and didn't honor the '~'

>>> DebianGitRepository._build_legacy_tag('upstream/%(version)s', '1:2.0~3')
'upstream/2.0.3'

version_to_tag(format, version)
Static Method

 

Generate a tag from a given format and a version

>>> DebianGitRepository.version_to_tag("debian/%(version)s", "0:0~0")
'debian/0%0_0'

_sanitize_version(version)
Static Method

 

sanitize a version so git accepts it as a tag

>>> DebianGitRepository._sanitize_version("0.0.0")
'0.0.0'
>>> DebianGitRepository._sanitize_version("0.0~0")
'0.0_0'
>>> DebianGitRepository._sanitize_version("0:0.0")
'0%0.0'
>>> DebianGitRepository._sanitize_version("0%0~0")
'0%0_0'

tag_to_version(tag, format)
Static Method

 

Extract the version from a tag

>>> DebianGitRepository.tag_to_version("upstream/1%2_3-4", "upstream/%(version)s")
'1:2~3-4'
>>> DebianGitRepository.tag_to_version("foo/2.3.4", "foo/%(version)s")
'2.3.4'
>>> DebianGitRepository.tag_to_version("foo/2.3.4", "upstream/%(version)s")

has_pristine_tar_branch(self)

 

Wheter the repo has a pristine-tar branch.

Returns: Bool
True if the repo has pristine-tar commits already, False otherwise

Property Details [hide private]

pristine_tar_branch

The name of the pristine-tar branch, whether it already exists or not.

Get Method:
unreachable.pristine_tar_branch(self) - The name of the pristine-tar branch, whether it already exists or not.