Package gbp :: Package scripts :: Package common :: Module pq
[hide private]
[frames] | no frames]

Module pq

Common functionality for Debian and RPM patchqueue management

Functions [hide private]
 
is_pq_branch(branch, options)
is branch a patch-queue branch?
 
pq_branch_name(branch, options)
get the patch queue branch corresponding to branch
 
pq_branch_base(pq_branch, options)
Get the branch corresponding to the given patch queue branch.
 
parse_gbp_commands(info, cmd_tag, noarg_cmds, arg_cmds)
Parse gbp commands from commit message
 
patch_path_filter(file_status, exclude_regex=None)
Create patch include paths, i.e.
 
write_patch_file(filename, repo, commit_info, diff)
Write patch file
 
format_patch(outdir, repo, commit, patch_num, topic_regex=None, path_exclude_regex=None)
Create patch of a single commit
 
format_diff(outdir, filename, repo, start, end, path_exclude_regex=None)
Create a patch of diff between two repository objects
 
get_maintainer_from_control(repo)
Get the maintainer from the control file
 
switch_to_pq_branch(repo, branch, options)
Switch to patch-queue branch if not already there, create it if it doesn't exist yet
 
apply_single_patch(repo, branch, patch, fallback_author, options)
 
apply_and_commit_patch(repo, patch, fallback_author, topic=None)
apply a single patch 'patch', add topic 'topic' and commit it
 
drop_pq(repo, branch, options)
Variables [hide private]
  DEFAULT_PQ_BRANCH_NAME = 'patch-queue/%(branch)s'
  __package__ = 'gbp.scripts.common'
Function Details [hide private]

is_pq_branch(branch, options)

 

is branch a patch-queue branch?

>>> from optparse import OptionParser
>>> (opts, args) = OptionParser().parse_args([])
>>> is_pq_branch("foo", opts)
False
>>> is_pq_branch("patch-queue/foo", opts)
True
>>> opts.pq_branch = "%(branch)s/development"
>>> is_pq_branch("foo/development/bar", opts)
False
>>> is_pq_branch("bar/foo/development", opts)
True
>>> opts.pq_branch = "development"
>>> is_pq_branch("development", opts)
True
>>> opts.pq_branch = "my/%(branch)s/pq"
>>> is_pq_branch("my/foo/pqb", opts)
False
>>> is_pq_branch("my/foo/pq", opts)
True

pq_branch_name(branch, options)

 

get the patch queue branch corresponding to branch

>>> from optparse import OptionParser
>>> (opts, args) = OptionParser().parse_args([])
>>> pq_branch_name("patch-queue/master", opts)
>>> pq_branch_name("foo", opts)
'patch-queue/foo'
>>> opts.pq_branch = "%(branch)s/development"
>>> pq_branch_name("foo", opts)
'foo/development'
>>> opts.pq_branch = "development"
>>> pq_branch_name("foo", opts)
'development'

pq_branch_base(pq_branch, options)

 

Get the branch corresponding to the given patch queue branch. Returns the packaging/debian branch if pq format string doesn't contain '%(branch)s' key.

>>> from optparse import OptionParser
>>> (opts, args) = OptionParser().parse_args([])
>>> opts.packaging_branch = "packaging"
>>> pq_branch_base("patch-queue/master", opts)
'master'
>>> pq_branch_base("foo", opts)
>>> opts.pq_branch = "my/%(branch)s/development"
>>> pq_branch_base("foo/development", opts)
>>> pq_branch_base("my/foo/development/bar", opts)
>>> pq_branch_base("my/foo/development", opts)
'foo'
>>> opts.pq_branch = "development"
>>> pq_branch_base("foo/development", opts)
>>> pq_branch_base("development", opts)
'packaging'

patch_path_filter(file_status, exclude_regex=None)

 

Create patch include paths, i.e. a "negation" of the exclude paths.