Hi.  Thanks for the report.  We want this tooling to be easy to use,
and to help spot mistakes, so we appreciate the feedback.

FTR Sean is the UX lead for git-debpush but I have some thoughts:

Marco d'Itri writes ("Bug#1108088: should check that the changelog version 
matches the tag version"):
> In my first attempt to use tag2upload I was very confused because it 
> kept trying to push an old tag on the debian/unstable branch instead of 
> the one on the debian/experimental branch that I was working on.
> Even after adding --branch=debian/experimental:
> 
> $ git debpush --dry-run --print-tag-text --upstream=varnish-7.7.1 
> --branch=debian/experimental --quilt=gbp
> varnish release 7.7.0-3 for unstable
> 
> [dgit distro=debian split --quilt=gbp]
> [dgit please-upload source=varnish version=7.7.0-3 upstream-tag=varnish-7.7.1 
> upstream=2e8180f788715e5bc44df08479d60c9435d79bdd]

I'm not sure I completely understand the situation.

> After a lot of wasted time and attempts, I figured out that I had forgot 
> to commit the new changelog (I like to have a clean history and commit 
> a single complete changelog along with the release tag).

I think you are saying that:

 * You had intended to upload to experimental, from a local git branch
   called debian/experimental.
 * Your practice is to create the whole d/changelog entry for an
   upload immediately before upload.  So prior to that point,
   the changelog is the same as for the previous upload.
 * You had not (yet) done that for this upload, due to an oversight.
 * Your git tree was clean.
 * Your current branch was debian/unstable, which contained some
   other work which is not germane.  This was also an oversight.

Then you ran git-debpush --print-tag-text and got some kind of error
or unexpected behaviour.  You write "trying to push an old tag", but
maybe you mean "trying to re-upload an old release"?  git-debpush
won't ever push non-tag2upload tags.

To try to resolve the problem you ran git-debpush with an additional
option --branch=debian/experimental.  This also produced different
output which was in some way unexpected.  Perhaps the discrepancy is
that its upstream version tag name and the Debian version don't match?

(A shell transcript would have been very helpful.)

Did you have the debian/7.7.0-3 tag in your tree?  I think git-debpush
should complain if it finds an existing DEP-14 tag for the version it
is trying to upload.  (Ideally it would look both in your local tree,
and on salsa via the initial fetch proposed in #1107921.)

So if one forgets to update the changelog, or tries for any other
reason to repeat an existing upload, that would be detected.

> Maybe debpush could check that:
> - the tag version matches the changelog version

I'm not sure what you mean by "the tag version".  Do you mean the
upstream tag you specified on the command line?

If so I think that might involve git-debpush trying to parse the
supplied upstream tag name to try to guess if it looks "enough like"
the upstream part of the version being uploaded.  This seems fraught
with difficulty.

I think git-debpush could check that the commit you are trying to
upload is fast forward from the nominated upstream (except with
--quilt=baredebian).  Maybe it already does check this.  But I think
that wouldn't have helped here.

> - the tag is actually on the active branch (or the one selected with 
>   --branch)

What did you expect --branch to do ?

AIUI it's intended use case is precisely to upload from a branch you
don't currently have checked out.  I think this is a minority
interest.  Maybe it should have a less attractive name.

Ian.

-- 
Ian Jackson <ijack...@chiark.greenend.org.uk>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.

Reply via email to