tools/git-buildpackage.git
2 years agoDocument changes and release 0.9.29 sandbox/xuwc/upstream_0.9.29
Guido Günther [Thu, 29 Sep 2022 14:46:18 +0000 (16:46 +0200)]
Document changes and release 0.9.29

2 years agoBuild-depend on python3-filelock
Guido Günther [Thu, 29 Sep 2022 14:40:10 +0000 (16:40 +0200)]
Build-depend on python3-filelock

This works around #1020024

2 years agoExplicitly use the deb install layout when building our RPM
Stefano Rivera [Thu, 29 Sep 2022 11:33:43 +0000 (13:33 +0200)]
Explicitly use the deb install layout when building our RPM

Debian defaults to installing to /usr/local, unless told otherwise. This
is usually done by passing --install-layout=deb to setup.py, when called
directly. But that's only an option on Debian systems that have this
patch. Set the environment variable equivalent, instead.

2 years agoSpecify a sysconfig scheme in smoke-rpm
Stefano Rivera [Thu, 29 Sep 2022 11:10:19 +0000 (13:10 +0200)]
Specify a sysconfig scheme in smoke-rpm

Debian uses the posix_local scheme by default, since Python 3.10,
causing the rpm to be built with the incorrect layout.

2 years agoconfig: Print correct default for postunpack hook
Guido Günther [Thu, 1 Sep 2022 10:36:42 +0000 (12:36 +0200)]
config: Print correct default for postunpack hook

2 years agorpm: Fix flake8
Pete Moore [Mon, 22 Aug 2022 14:52:16 +0000 (16:52 +0200)]
rpm: Fix flake8

2 years agogit-pbuilder: export GBP_{DIST,ARCH,BUILDER} to the environment
Guido Günther [Wed, 3 Aug 2022 17:31:10 +0000 (19:31 +0200)]
git-pbuilder: export GBP_{DIST,ARCH,BUILDER} to the environment

This makes sure we don't export very generic vars while still being able
to make decisions based on what was passed to gbp.

2 years agoclone: Allow to add automatically add upstream vcs
Guido Günther [Tue, 2 Aug 2022 07:45:30 +0000 (09:45 +0200)]
clone: Allow to add automatically add upstream vcs

While "gbp import-orig" supports "--upstream-vcs" since some time to
link to the upstream git history however setup of the upstream remoet
repo so far was manual.

To make this more automatic add "--add-upstream-vcs" to "gbp clone"
(defaulting to False) and set up the upstreamvcs remote in case there's
sufficient information in debian/upstream/metadata. Once added fetch
from that remote initially.

2 years agoDocument changes and release 0.9.28
Guido Günther [Tue, 5 Jul 2022 09:50:40 +0000 (11:50 +0200)]
Document changes and release 0.9.28

2 years agoexport-orig: Allow for --pristine-tar-commit
Guido Günther [Thu, 30 Jun 2022 10:51:50 +0000 (12:51 +0200)]
export-orig: Allow for --pristine-tar-commit

No reason to restrict this to build-package

3 years agopkgpolicy: Use type annotations that also work for python 3.9
Diane Trout [Mon, 13 Jun 2022 07:41:59 +0000 (09:41 +0200)]
pkgpolicy: Use type annotations that also work for python 3.9

Closes: #1012717
3 years agoDocument changes and release 0.9.27
Guido Günther [Tue, 31 May 2022 08:08:52 +0000 (10:08 +0200)]
Document changes and release 0.9.27

3 years agoAdd breaks on older dgit
Guido Günther [Tue, 31 May 2022 08:09:30 +0000 (10:09 +0200)]
Add breaks on older dgit

See #1005873, #1010061

3 years agoclone: add second allowed form for vcs-git protocol to manual page
Nicolas Boulenguez [Sun, 8 May 2022 14:50:29 +0000 (16:50 +0200)]
clone: add second allowed form for vcs-git protocol to manual page

3 years agodch: Don't crash when we fail to get an upstream version
Guido Günther [Sat, 28 May 2022 14:40:48 +0000 (16:40 +0200)]
dch: Don't crash when we fail to get an upstream version

Closes: #879495
3 years agoimport-dsc: Fix error message when missing debian branch
Arnaud Rebillout [Thu, 4 Mar 2021 14:23:48 +0000 (21:23 +0700)]
import-dsc: Fix error message when missing debian branch

The error message mistakenly talks about the upstream branch when it
should be talking about the debian branch. Logs:

# initial failure
$ gbp import-dsc apt:desktop-base/sid
gbp:info: Downloading 'desktop-base/sid' using 'apt-get'...
gbp:info: Tag 11.0.2 not found, importing Debian tarball
gbp:error:
Repository does not have branch 'master' for upstream sources. If there is none see
file:///usr/share/doc/git-buildpackage/manual-html/gbp.import.html#GBP.IMPORT.CONVERT
on howto create it otherwise use --upstream-branch to specify it.

Also check the --create-missing-branches option.

# trying as suggested
$ gbp import-dsc --upstream-branch=debian apt:desktop-base/sid
gbp:info: Downloading 'desktop-base/sid' using 'apt-get'...
gbp:info: Tag 11.0.2 not found, importing Debian tarball
gbp:error:
Repository does not have branch 'master' for upstream sources. If there is none see
file:///usr/share/doc/git-buildpackage/manual-html/gbp.import.html#GBP.IMPORT.CONVERT
on howto create it otherwise use --upstream-branch to specify it.

Also check the --create-missing-branches option.

# in fact it's the debian branch!
$ gbp import-dsc --debian-branch=debian apt:desktop-base/sid
gbp:info: Downloading 'desktop-base/sid' using 'apt-get'...
gbp:info: Tag 11.0.2 not found, importing Debian tarball
gbp:info: Version '11.0.2' imported under '/home/user/src/desktop-base'

Closes: #984516
3 years agodocs: Ship gbp-setup-gitattributs man page
Guido Günther [Sat, 28 May 2022 10:05:23 +0000 (12:05 +0200)]
docs: Ship gbp-setup-gitattributs man page

3 years agodocs: Make --component more prominent
Guido Günther [Sat, 28 May 2022 09:25:36 +0000 (11:25 +0200)]
docs: Make --component more prominent

Closes: #934200
3 years agouscan: Drop pre 2.11 devscripts compat code
Guido Günther [Sat, 28 May 2022 07:55:20 +0000 (09:55 +0200)]
uscan: Drop pre 2.11 devscripts compat code

It's not even in oldoldoldstable anymore

3 years agotests: Add "gbp import-orig --uscan" test
Guido Günther [Fri, 27 May 2022 14:54:22 +0000 (16:54 +0200)]
tests: Add "gbp import-orig --uscan" test

3 years agoMakefile: add type-check
Guido Günther [Fri, 27 May 2022 14:18:08 +0000 (16:18 +0200)]
Makefile: add type-check

3 years agodch: Add minimal type information
Guido Günther [Fri, 27 May 2022 10:32:08 +0000 (12:32 +0200)]
dch: Add minimal type information

Just enough to make mypy happy

3 years agoIgnore imports without type annotations for now
Guido Günther [Fri, 27 May 2022 10:24:35 +0000 (12:24 +0200)]
Ignore imports without type annotations for now

Ignore rpm and libnotify for the moment

3 years agopkgpolicy: Add type annotations
Guido Günther [Fri, 27 May 2022 08:56:56 +0000 (10:56 +0200)]
pkgpolicy: Add type annotations

Just enough to  make mypy happy.

3 years agoclone: Allow to skip alias expansion
Guido Günther [Thu, 26 May 2022 18:59:08 +0000 (20:59 +0200)]
clone: Allow to skip alias expansion

Add an option that allow to skip exansion of aliases like salsa:
by gbp so that git can do that.

Closes: #983085
3 years agodocs: Fix --upstream-signature flag description
Guido Günther [Thu, 26 May 2022 18:43:06 +0000 (20:43 +0200)]
docs: Fix --upstream-signature flag description

Thanks: Tino Mettler

3 years agodebian/rules: clean __pycache__ directories generated during the build
Nicolas Boulenguez [Wed, 25 May 2022 23:44:07 +0000 (01:44 +0200)]
debian/rules: clean __pycache__ directories generated during the build

3 years agopull: Prefix local branch with 'refs/heads/'
Doesnot Matter [Thu, 26 May 2022 17:54:15 +0000 (19:54 +0200)]
pull: Prefix local branch with 'refs/heads/'

This can resolve ambiguity when generating the rev list.

Closes: #966627
3 years agorepository: Add helper to prefix branch with 'refs/heads/'
Doesnot Matter [Thu, 26 May 2022 17:53:49 +0000 (19:53 +0200)]
repository: Add helper to prefix branch with 'refs/heads/'

No attempt is being made to ensure this is a local branch.

3 years agorepository.get_submodules: Only strip repo path from the beginning
Doesnot Matter [Thu, 26 May 2022 16:20:39 +0000 (18:20 +0200)]
repository.get_submodules: Only strip repo path from the beginning

We shouldn't just replace any occurence since we otherwise might also
substitute in the submodule.

Based on a patch by "ushen <yshxxsjt715@gmail.com>".
See https://github.com/agx/git-buildpackage/pull/82

3 years agodebian/rules: really export GBP_NETWORK_TESTS to tests
Nicolas Boulenguez [Wed, 25 May 2022 23:53:54 +0000 (01:53 +0200)]
debian/rules: really export GBP_NETWORK_TESTS to tests

$(MAKE) GBP_NETWORK_TESTS=1
was setting a Make variable in the sub-Make, but not exporting it for
test/*.py subprocesses.

3 years agodebian/clean: add forgotten files
Nicolas Boulenguez [Wed, 25 May 2022 22:49:25 +0000 (00:49 +0200)]
debian/clean: add forgotten files

3 years agoMove some cleaning from debian/rules to debian/clean
Nicolas Boulenguez [Wed, 25 May 2022 22:47:22 +0000 (00:47 +0200)]
Move some cleaning from debian/rules to debian/clean

3 years agorepository: list_tree: Handle '-'
Doesnot Matter [Thu, 26 May 2022 10:28:47 +0000 (12:28 +0200)]
repository: list_tree: Handle '-'

This is returned for git submodules and broke the the clone test like:

======================================================================
ERROR: Test that cloning from github urls works
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/var/scratch/src/git-buildpackage/git-buildpackage/tests/component/deb/test_clone.py", line 81, in test_clone_github
    ret = clone(['arg0', "github:agx/git-buildpackage", dest])
  File "/var/scratch/src/git-buildpackage/git-buildpackage/gbp/scripts/clone.py", line 214, in main
    if options.defuse_gitattributes.is_on() or not repo_setup.check_gitattributes(repo, 'HEAD'):
  File "/var/scratch/src/git-buildpackage/git-buildpackage/gbp/scripts/common/repo_setup.py", line 43, in check_gitattributes
    for mode, _type, sha1, size, path in repo.list_tree(treeish, recurse=True, sizes=True):
  File "/var/scratch/src/git-buildpackage/git-buildpackage/gbp/git/repository.py", line 1105, in list_tree
    yield mode, type, sha1, int(size), filename
ValueError: invalid literal for int() with base 10: '-'
-------------------- >> begin captured logging << --------------------
gbp: info: Cloning from 'https://github.com/agx/git-buildpackage.git' into '/.../git-buildpackage/gbp_TestClone_730g3vkb/tmp_test_clone_github_i9jrqgmy/cloned_repo'
--------------------- >> end captured logging << ---------------------

3 years agosmoke-rpm: Avoid deprecated distutils
Doesnot Matter [Thu, 26 May 2022 10:01:59 +0000 (12:01 +0200)]
smoke-rpm: Avoid deprecated distutils

3 years agodeb: Decode changelog content when fetched from git
Guido Günther [Wed, 25 May 2022 21:07:11 +0000 (23:07 +0200)]
deb: Decode changelog content when fetched from git

When importing not form the upstream branch the changelog is fetched
via `git show`. Decode the bytes in that case.

Closes: #1004354
3 years agotests: Test import-orig from upstream branch
Guido Günther [Wed, 25 May 2022 20:55:03 +0000 (22:55 +0200)]
tests: Test import-orig from upstream branch

3 years agodebian/copyrigt: switch to machine-readable format 1.0
Nicolas Boulenguez [Tue, 17 May 2022 13:53:15 +0000 (15:53 +0200)]
debian/copyrigt: switch to machine-readable format 1.0

3 years agodebian/rules: remove obsolete and unused Make variables
Nicolas Boulenguez [Tue, 17 May 2022 13:17:12 +0000 (15:17 +0200)]
debian/rules: remove obsolete and unused Make variables

3 years agorules: simplify thanks to debhelper compat 13
Nicolas Boulenguez [Tue, 17 May 2022 13:13:06 +0000 (15:13 +0200)]
rules: simplify thanks to debhelper compat 13

When dh-sequence-foo is listed in build-depends, debhelper
automatically inserts dh_foo in the commands.

override_dh_auto_test is not invoked anymore if DEB_BUILD_OPTIONS
contains nocheck.

execute_after_dh_* is available and more readable than override_dh_*.

Move chmod to execute_after_dh_fixperms for clarity.

Examples are not compressed anymore.

3 years agodebian/rules: simplify installation of zsh and pk4
Nicolas Boulenguez [Tue, 17 May 2022 13:02:13 +0000 (15:02 +0200)]
debian/rules: simplify installation of zsh and pk4

There seems to be no reason to change their names and permissions
between the source tree and the eventual installation path.

3 years agodebhelper: make package prefix explicit in configuration files
Nicolas Boulenguez [Tue, 17 May 2022 12:54:08 +0000 (14:54 +0200)]
debhelper: make package prefix explicit in configuration files

This slightly improves readability.

3 years agoconfig: Use ConfigParser instead of deprecated SafeConfigParser
Guido Günther [Wed, 25 May 2022 16:13:38 +0000 (18:13 +0200)]
config: Use ConfigParser instead of deprecated SafeConfigParser

Closes: #1011344
3 years agogit/repository: Disable signatures when grepping for commits
Guido Günther [Mon, 16 May 2022 09:23:19 +0000 (11:23 +0200)]
git/repository: Disable signatures when grepping for commits

Otherwise get the signature back as well.

Thanks: наб for the patch

Closes: #1010370
3 years agoDocument changes and release 0.9.26
Guido Günther [Mon, 16 May 2022 08:58:41 +0000 (10:58 +0200)]
Document changes and release 0.9.26

3 years agopush: Limit remote check to default remote
Guido Günther [Mon, 16 May 2022 08:36:07 +0000 (10:36 +0200)]
push: Limit remote check to default remote

We can't assume the user is pushing to the defaulte remote as

   gbp push foo

is also supported hence we can't just check pristine-tar status on the
default merge branch.

Helps 2405e158 ("push: skip pristine-tar push if already present remotely")

Gbp-Dch: Ignore

3 years agodocs: Fix argument for "gbp pq export --commit"
Roland Mas [Wed, 11 May 2022 11:16:38 +0000 (13:16 +0200)]
docs: Fix argument for "gbp pq export --commit"

3 years agoscripts: add -v shortcut for --verbose where it has been forgotten
Nicolas Boulenguez [Sun, 8 May 2022 14:48:29 +0000 (16:48 +0200)]
scripts: add -v shortcut for --verbose where it has been forgotten

Closes: #1010750
3 years agopush: skip pristine-tar push if already present remotely
Antonio Terceiro [Sat, 23 Apr 2022 12:02:10 +0000 (09:02 -0300)]
push: skip pristine-tar push if already present remotely

When one is working on an older branch (stable update or backport), the
pristine-tar branch may already contain new commits after the one
corresponding to the upstream version in question.

Closes: #1001163
3 years agotests: fix input data to create-remote-repo tests
Antonio Terceiro [Sat, 23 Apr 2022 13:08:16 +0000 (10:08 -0300)]
tests: fix input data to create-remote-repo tests

Closes: #1010061
3 years agodebian/rules: fix build with python3.10 as default
Antonio Terceiro [Sat, 23 Apr 2022 12:42:14 +0000 (09:42 -0300)]
debian/rules: fix build with python3.10 as default

3 years agotests: set HOME to an unexisting directory
Antonio Terceiro [Sat, 23 Apr 2022 12:37:41 +0000 (09:37 -0300)]
tests: set HOME to an unexisting directory

The test suite contains several assumptions about the global git
configuration, including but not limited to the default branch name
being `master`. By running the tests against a unexisting HOME, git will
not load the user configuration and instead use all the git defaults.

3 years agodocs: port build system to newer pydoctor
Antonio Terceiro [Sat, 23 Apr 2022 12:23:43 +0000 (09:23 -0300)]
docs: port build system to newer pydoctor

According to https://pydoctor.readthedocs.io/en/latest/help.html, the
command line and configuration parsing has changed in an incompatible
way. These changes fix the documentation build for me, but are probably
backwards-incompatible with older versions of pydoctor.

3 years agorpm.policy: Drop non breaking space
Guido Günther [Wed, 16 Mar 2022 13:39:33 +0000 (14:39 +0100)]
rpm.policy: Drop non breaking space

This trips up pydoctor.

Thanks to Carsten Schönert for debugging help

3 years agorpm.changelog: Drop non breaking space
Guido Günther [Wed, 16 Mar 2022 13:39:33 +0000 (14:39 +0100)]
rpm.changelog: Drop non breaking space

This trips up pydoctor.

Thanks to Carsten Schönert for debugging help

3 years agodeb.git, scripts: Use cannot rather than can not for clarity
Andrej Shadura [Sat, 3 Apr 2021 12:50:40 +0000 (14:50 +0200)]
deb.git, scripts: Use cannot rather than can not for clarity

"Can not" may in some cases mean something different than "cannot",
use "cannot" to make sure there are no misunderstandings.

Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
3 years agopq: Check if repo is clean before importing patches
Guido Günther [Fri, 11 Feb 2022 10:35:01 +0000 (11:35 +0100)]
pq: Check if repo is clean before importing patches

Closes: #1005321
3 years agopush: Make --debian-tag='' match the documentation
Guido Günther [Wed, 26 Jan 2022 07:57:12 +0000 (08:57 +0100)]
push: Make --debian-tag='' match the documentation

An empty Debian tag indicates "don't care" about the packaging branch.
Don't fail in that case but rather push out up to the branch tip:

  Currently we'd fail like

  $ gbp push --debian-tag='' guido
  Traceback (most recent call last):
    File "/usr/bin/gbp", line 149, in <module>
      sys.exit(supercommand())
    File "/usr/bin/gbp", line 145, in supercommand
      return module.main(args)
    File "/usr/lib/python3/dist-packages/gbp/scripts/push.py", line 153, in main
      to_push['refs'].append((ref, get_push_src(repo, ref, dtag)))
  UnboundLocalError: local variable 'dtag' referenced before assignment

this make it simple to push the current development work via

  gbp  push --debian-tag='' <remote>

3 years agotests: Fix "test_push_failure" with newer git
Guido Günther [Fri, 11 Feb 2022 13:13:05 +0000 (14:13 +0100)]
tests: Fix "test_push_failure" with newer git

The test created a broken tag on the remote side to avoid that being
pushed in the test however git 2.34 and newer fail every push to that
repo so rather create a non-ff branch instead to make the push fail.

3 years agoHACKING: Document how to keep test repos around
Guido Günther [Fri, 11 Feb 2022 11:04:22 +0000 (12:04 +0100)]
HACKING: Document how to keep test repos around

3 years agoHACKING: mention how to rerun a single test
Guido Günther [Fri, 11 Feb 2022 11:02:31 +0000 (12:02 +0100)]
HACKING: mention how to rerun a single test

3 years agouscan: Remove pre-devscripts 2.10.70 compat code
Unit 193 [Fri, 17 Dec 2021 00:58:11 +0000 (19:58 -0500)]
uscan: Remove pre-devscripts 2.10.70 compat code

We can rely on the <target> element being present in dehs output.

The output it looks for from uscan no longer matches anyway.

3 years agoconfig: Add missing comma
Andrej Shadura [Sat, 3 Apr 2021 16:42:40 +0000 (18:42 +0200)]
config: Add missing comma

Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
3 years agoexport-orig: Consistently refer to the pristine-tar branch
Andrej Shadura [Sat, 3 Apr 2021 12:44:34 +0000 (14:44 +0200)]
export-orig: Consistently refer to the pristine-tar branch

Since we’re checking pristine_tar_branch, not pristine_tar.branch,
use the same expression in the log even though it’s not supposed
to be different.

Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
3 years agoimport-orig: Don’t hardcode the pristine-tar branch
Andrej Shadura [Fri, 2 Apr 2021 14:23:09 +0000 (16:23 +0200)]
import-orig: Don’t hardcode the pristine-tar branch

Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
3 years agorpm: Avoid devscript dependency
Quanah Gibson-Mount [Thu, 11 Nov 2021 08:13:25 +0000 (09:13 +0100)]
rpm: Avoid devscript dependency

The package is currently not available everywhere.

3 years agoDocument changes and release 0.9.25
Guido Günther [Fri, 5 Nov 2021 09:24:44 +0000 (10:24 +0100)]
Document changes and release 0.9.25

3 years agotests: Make sure DEBEMAIL is set
Guido Günther [Fri, 5 Nov 2021 09:12:20 +0000 (10:12 +0100)]
tests: Make sure DEBEMAIL is set

Otherwise dch based tests fail

Closes: #998573
3 years agobuildpackage: Map 'debian/latest' and 'debian/main' to sid too
Guido Günther [Thu, 28 Oct 2021 07:34:54 +0000 (09:34 +0200)]
buildpackage: Map 'debian/latest' and 'debian/main' to sid too

This avoids having to specify a suite with more modern common branch
names.

3 years agoDocument changes and release 0.9.24
Guido Günther [Tue, 26 Oct 2021 07:46:45 +0000 (09:46 +0200)]
Document changes and release 0.9.24

3 years agoUse collections.abc.Iterable instead of collections.Iterable
Anthony Sottile [Thu, 21 Oct 2021 13:30:59 +0000 (15:30 +0200)]
Use collections.abc.Iterable instead of collections.Iterable

since Python 3.10 dropped the alias.

3 years agod/control: Depend on dh-sequence-python3
Guido Günther [Wed, 13 Oct 2021 07:32:36 +0000 (09:32 +0200)]
d/control: Depend on dh-sequence-python3

This makes the requirement more obvious since dh-python does
multiple things

3 years agod/control: Add RulesRequiresRoot
Guido Günther [Wed, 13 Oct 2021 07:12:32 +0000 (09:12 +0200)]
d/control: Add RulesRequiresRoot

3 years agod/control: Drop versioned python3 dep
Guido Günther [Wed, 13 Oct 2021 07:09:22 +0000 (09:09 +0200)]
d/control: Drop versioned python3 dep

Even oldoldstable is recent enough

3 years agod/rules: Drop trailing whitespace
Guido Günther [Wed, 13 Oct 2021 07:13:05 +0000 (09:13 +0200)]
d/rules: Drop trailing whitespace

Gbp-Dch: Ignore

3 years agod/changelog: Drop trailing whitespace
Guido Günther [Wed, 13 Oct 2021 07:10:06 +0000 (09:10 +0200)]
d/changelog: Drop trailing whitespace

Gbp-Dch: Ignore

3 years agoAdd translation infrastructure
Guido Günther [Fri, 1 Oct 2021 14:20:55 +0000 (16:20 +0200)]
Add translation infrastructure

Make it simple to create/update the pot file and provide an initial
po file for de.

3 years agoFix import-dsc on empty repo if defaultBranch!=master
Emanuele Aina [Mon, 5 Apr 2021 20:43:16 +0000 (22:43 +0200)]
Fix import-dsc on empty repo if defaultBranch!=master

When importing a dsc on a empty repository when `ìnit.defaultBranch` is
set to something like `main` in `~/.gitconfig` we failed with:

    gbp:debug: ['git', 'update-ref', '-m', 'gbp: Import Upstream version 0.5.10.2', 'refs/heads/master', '95172aee8d1a4e6c69494e4f158f904111710168']
    gbp:debug: ['git', 'symbolic-ref', 'HEAD']
    gbp:debug: ['git', 'show-ref', 'refs/heads/main']
    gbp:debug: ['git', 'symbolic-ref', 'HEAD']
    gbp:debug: ['git', 'show-ref', 'refs/heads/main']
    gbp:debug: ['git', 'branch', '-m', 'None', 'debian/buster']
    gbp:error: Git command failed: Error running git branch: error: refname refs/heads/None not found
    fatal: Branch rename failed
    Traceback (most recent call last):
      File "/usr/local/lib/python3.9/dist-packages/gbp-0.9.22-py3.9.egg/gbp/scripts/import_dsc.py", line 519, in main
        commit = import_upstream(repo, sources[0], dsc, options)
      File "/usr/local/lib/python3.9/dist-packages/gbp-0.9.22-py3.9.egg/gbp/scripts/import_dsc.py", line 269, in import_upstream
        repo.rename_branch(repo.branch, options.debian_branch)
      File "/usr/local/lib/python3.9/dist-packages/gbp-0.9.22-py3.9.egg/gbp/git/repository.py", line 333, in rename_branch
        self._git_command("branch", args.args)
      File "/usr/local/lib/python3.9/dist-packages/gbp-0.9.22-py3.9.egg/gbp/git/repository.py", line 245, in _git_command
        raise GitRepositoryError("Error running git %s: %s" % (command, detail.decode().strip()))
    gbp.git.repository.GitRepositoryError: Error running git branch: error: refname refs/heads/None not found
    fatal: Branch rename failed

That's because we created the commit on `refs/heads/master` and then
tried to rename it from `refs/heads/main`.

To avoid that, if the repository is empty look at the name of the
current branch as reported by the symbolic ref pointed by `HEAD`.

Closes: #906600
Signed-off-by: Emanuele Aina <emanuele.aina@collabora.com>
3 years agogit: Actually include the missing key name in the KeyError message
Emanuele Aina [Mon, 5 Apr 2021 20:40:57 +0000 (22:40 +0200)]
git: Actually include the missing key name in the KeyError message

Signed-off-by: Emanuele Aina <emanuele.aina@collabora.com>
3 years agodch: Require EMAIL or DEBEMAIL to be set
Guido Günther [Thu, 30 Sep 2021 14:06:39 +0000 (16:06 +0200)]
dch: Require EMAIL or DEBEMAIL to be set

The alternative would be to set a dummy address in case of
--git-author but that again can use $EMAIL so just fail if
both are unset.

Closes: #987611
4 years agoDocument changes and release 0.9.23
Guido Günther [Tue, 8 Jun 2021 15:35:56 +0000 (17:35 +0200)]
Document changes and release 0.9.23

4 years agospec: Fix rpm build on centos7 and centos8
Quanah Gibson-Mount [Sun, 30 May 2021 10:16:20 +0000 (12:16 +0200)]
spec: Fix rpm build on centos7 and centos8

4 years agospec: Ignore byte-compiled python files
Quanah Gibson-Mount [Sun, 30 May 2021 10:13:43 +0000 (12:13 +0200)]
spec: Ignore byte-compiled python files

4 years agodocs: Check for docbook2man too
Quanah Gibson-Mount [Sun, 30 May 2021 10:12:28 +0000 (12:12 +0200)]
docs: Check for docbook2man too

4 years agodocs: Use either python3 or python
Guido Günther [Fri, 28 May 2021 09:06:07 +0000 (11:06 +0200)]
docs: Use either python3 or python

Some distros (such as Debian) don't ship a /usr/bin/python anymore

4 years agosetup.py: Explicitly open the changelog file as utf-8
Quanah Gibson-Mount [Mon, 24 May 2021 17:26:28 +0000 (13:26 -0400)]
setup.py: Explicitly open the changelog file as utf-8

4 years agoFix gbp-builder-mock to honor configured options for mock
Quanah Gibson-Mount [Fri, 14 May 2021 22:33:42 +0000 (18:33 -0400)]
Fix gbp-builder-mock to honor configured options for mock

4 years agogbp-builder-mock: Update to work with current mock releases
Quanah Gibson-Mount [Mon, 3 May 2021 16:07:30 +0000 (12:07 -0400)]
gbp-builder-mock: Update to work with current mock releases

4 years agospec: Swtich requires to python3 too
Guido Günther [Fri, 30 Apr 2021 07:03:46 +0000 (09:03 +0200)]
spec: Swtich requires to python3 too

Thanks: Quanah Gibson-Mount

4 years agospec: Install setup-git-attributes command
Guido Günther [Wed, 28 Apr 2021 09:12:08 +0000 (11:12 +0200)]
spec: Install setup-git-attributes command

This unbreaks the autopkgtest

4 years agosetup.py: Allow for more liberal version numbers
Guido Günther [Wed, 28 Apr 2021 08:26:22 +0000 (10:26 +0200)]
setup.py: Allow for more liberal version numbers

Otherwise this causes trouble for backports, downstreams, etc.

4 years agosetup.py: Avoid dpkg-parsechangelog
Guido Günther [Wed, 28 Apr 2021 07:03:28 +0000 (09:03 +0200)]
setup.py: Avoid dpkg-parsechangelog

This helps on non-debian systems

4 years agorepo_setup: fix documentation generation
Arnaud Ferraris [Wed, 24 Mar 2021 14:58:20 +0000 (15:58 +0100)]
repo_setup: fix documentation generation

docstring format for bullet lists requires a leading dash. This fix
prevents build failures when running `make docs`.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
4 years agomanpages: fix gbp-setup-gitattributes
Arnaud Ferraris [Wed, 24 Mar 2021 14:35:01 +0000 (15:35 +0100)]
manpages: fix gbp-setup-gitattributes

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
4 years agotests/11_test_dch_main.py: Fix OS release check for Ubuntu.
Logan Rosen [Mon, 15 Mar 2021 13:42:02 +0000 (14:42 +0100)]
tests/11_test_dch_main.py: Fix OS release check for Ubuntu.

Closes: #983204
4 years agoAdd tests for setup-gitattributes functionality
Andrej Shadura [Fri, 19 Feb 2021 10:21:57 +0000 (11:21 +0100)]
Add tests for setup-gitattributes functionality

Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
4 years agoInstall the setup_gitattributes script
Andrej Shadura [Thu, 18 Feb 2021 20:45:05 +0000 (21:45 +0100)]
Install the setup_gitattributes script

Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
4 years agoscripts: Make setup_gitattributes future-proof
Andrej Shadura [Tue, 16 Feb 2021 15:41:24 +0000 (16:41 +0100)]
scripts: Make setup_gitattributes future-proof

* Add --all (default) and --[no-]dgit-defuse-attrs to enable
  adding more options in future.
* Rewrite the manual page to reflect the change in approach.
* Error out when running with no presets enabled

Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
4 years agod/control: Capitalise Git throughout the package descriptions
Andrej Shadura [Sun, 14 Feb 2021 20:12:18 +0000 (21:12 +0100)]
d/control: Capitalise Git throughout the package descriptions

Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
4 years agod/control: Add the new subcommand to the package description
Andrej Shadura [Sun, 14 Feb 2021 20:11:37 +0000 (21:11 +0100)]
d/control: Add the new subcommand to the package description

Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>