Package: git-buildpackage
Version: 0.9.8
Severity: normal

Dear gbp maintainers/devs,

When working with git remotes and tags (instead of importing upstream
tarballs) an upstream branch is not normally not needed or wanted. This
kind of workflow is not uncommon, in fact is is suggested by the gbp
documentation:

/usr/share/doc/git-buildpackage/manual-html/gbp.import.upstream-git.html

and DEP14 somehow implies that an upstream branch may not exist by not
mentioning it at all in the "Importing upstream releases from Git tags"
section.

Now, coming to the point of this report. When ‘gbp push’ is called, it
will look for the branch where commit tagged with the release version
lies, and it will try to push this refspec to the corresponding remote
branch. When working without an upstream branch, the tag will refer to a
commit in the debian branch, and this commit will be behind the branch tip.
As gbp-push pushes up the the tag, the push command will fail
("non-fast-forward" error).

One way to work around this would be to check if the commit has already
been pushed. This should be doable with:

git branch -r --contains <commit>

which should probably be run after a fetch. People with a more complete
picture of gbp in mind will probably have better ideas.

Cheers,

Paride

Reply via email to