GitRepository.archive: support getting tar data as return value

Return tar data as a generator object, if the 'output' option is not
defined.

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>
Change compressor cmdline opts in compressor_opts to a list

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.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.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
buildpackage/dump_tree: use GitRepository.archive()

Make dump_tree() utilize the GitRepository.archive() method - similarly
to git_archive_submodules() - instead of ad-hoc Python pipes. This makes
dump_tree() work independent of the callers current working directory.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
common/buildpackage: use GitRepository for submodules

Initialize a GitRepository object for each submodule in
git_archive_submodules().

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
GitRepository.archive: drop the '**kwargs' argument

Unused and misleading.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
EXAMPLE: change GitRepository.get_branch to use _git_inout2()

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