manpage: Fix typo in git-dch's multimain-merge option

Closes: #684322
GitRepository/branch_contains: remove prefix '*' in branch name

The git output always prefixes the current branch name with '*'. Without
this fix branch_contains() always fails for the currently active branch.

Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
docs: fix cross-referencing in manpages

Docbook2man has to be run twice to make sure the cross-references are
correct. First pass is just to update the cross-reference file
(manpage.refs). The second the builds the actual manpages. Otherwise
forward-references might be broken.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
docs: make refentry ids of manpages more consistent

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
manpages: correct manual section and remove duplicate entry
GitRepository: Implement set_upstream_branch and get_upstream_branch methods

set_upstream_branch sets upstream branch for the local branch using
git branch --set-upstream
get_upstream_branch returns info about upstream branches

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
GitArgs/add: support iterable and non-string args

Support giving iterables (other than basestring, e.g. list(s)) as an
argument to GitArgs.add(). Also, add support non-iterable arguments that
support the str() conversion.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Document changes and release 0.6.0~git20120822
GitRepository.find_tag: change deprecated _git_getoutput to _git_inout

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
GitRepository: fix merge() for older git versions

Adds a new method for getting the version of git suite (i.e. git utils)
installed on the OS running gbp.

Utilize the new function in GitRepository.merge() to not give
edit/no-edit option for older versions of git-merge, that don't support
it. Fixes a regression (with git-version < 1.7.8) caused by commit
f3aa87fa0361a.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
GitRepository: Implement status method

Simple wrapper to the git-status command.

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
GitRepository/get_submodules: use correct path

By default, run git in the repo path, not current cwd. Also, now returns
submodule paths without leading './'.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
GitRepository: allow repo inititialization from subdir

This allows initialization of a GitRepository object, even if the
current working directory (or path given to GitRepository) is not the
top level directory of the git repository.

Don't guess the git meta data dir, but, take it as reported by git
itself.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
gbp.git: Reimplement rfc822 date parsing without dateutil

In order to get rid of dependency to dateutil.

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
tests: add test for archiving without git submodules

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
common/buildpackage: support for different archive formats

Adds support for defining the archive format of the output of
git_archive_single(), e.g. 'zip'. Defaults to 'tar', as before.

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
GitRepository: rewrite git_archive()

Add support for filtering. That is, allow the caller to pipe the output
of git-archive through a filter command, usually a compression program.

Don't use of the deprecated _git_getoutput() method. And don't try
to use _git_inout() either, as we're not interested in the output
(stdout) of git-archive, but, merely want redirect it to a file or pipe
to a filter command.

Also, gets rid of the hackish use of 'cwd' option.

The 'output' is now considered to be relative to the caller's cwd, not
the git repo dir. This should be more intuitive.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
buildpackage/git_archive_single() use GitRepository.archive()

Use GitRepository.archive() method like git_archive_submodules() does.
This makes it possible to call git_archive_single() independent of the
callers current working directory.

Get rid of the pipe in git_archive_single() and utilize the filter
command in archive() method of GitRepository, instead.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
docs: enable building html docs with docbook2html

This is useful if sgml2x package is not available.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Move get_compression() out of pkg.PkgPolicy class

Renames the function to parse_archive_filename() and changes it's
return values. Filename parsing is merely generic functionality, not
tied to any packaging policy.

The function now returns the base name of the file (that is, filename
without, archive and compression extensions), archive format and
compression method. Adds supported archive formats 'tar' and 'zip' and
file extension aliases, e.g. 'tgz'.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>