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]
 
find_version(self, format, version)
Check if a certain version is stored in this repo.

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

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

    Branches and Merging

Inherited from git.repository.GitRepository: create_branch, delete_branch, get_branch, get_local_branches, get_merge_branch, get_remote_branches, has_branch, is_fast_forward, merge, set_branch, update_ref

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

    Tags

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

    Trees

Inherited from git.repository.GitRepository: checkout, has_treeish, write_tree

    Remote Repositories

Inherited from git.repository.GitRepository: add_remote_repo, fetch, get_remote_repos, has_remote_repo, pull

    Files

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

    Comitting

Inherited from git.repository.GitRepository: commit_all, commit_dir, commit_files, commit_staged, commit_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, 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]
 
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
Instance Variables [hide private]

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

Properties [hide private]

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

Inherited from object: __class__

Method Details [hide private]

find_version(self, format, version)

 

Check if a certain version is stored in this repo. Return it's SHA1 in this case. For legacy tags Don't check only the tag but also the message, since the former wasn't injective until recently. You only need to use this funciton if you also need to check for legacy tags.

Parameters:
  • format - tag pattern
  • version - debian version number
Returns:
sha1 of the version tag

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")