Package: dgit
Version: 4.3
Severity: minor
Tags: upstream

Hi,

Prodded by Sean Whitton's blog post[1], I decided to give dgit another
try. I found an upload I needed to do, and used `dgit push-source
--gbp`, only to have that fail with the following tail:

> synthesised git commit from .dsc 0.11-5
> dgit: split brain (separate dgit view) may be needed (--quilt=gbp).
> dgit view: found cached (commit id a83cdaf57fc92b42d16a912aeedc1633971604c2)
> Checking that HEAD inciudes all changes in archive...
> dgit: check failed (maybe --overwrite is needed, consult documentation)
> dgit: Wanted tag maintainer view tag (debian/0.11-5) on dgit server, but not 
> found
> ! Push failed, while preparing your push.
> ! You can retry the push, after fixing the problem, if you like.

I suppose this gives an experienced user all the information they need,
but for a newcomer this is unparseable. The problem is fixed by passing
--overwrite (as correctly suggested), but the phrasing could be
improved. An option named --overwrite sounds fairly advanced, when in
fact it isn't. Some thoughts:

1. Adding a short blurb indicating common causes of this specific error.
   AFAICT, the most common causes are: first use of dgit, and
   incorporating NMUs without dgit use. Something like "This usually 
   happens when the last upload was not done using dgit" would go a long
   way towards demistifying the new user.
2. It occurs to me this situation can be avoided entirely for some cases
   if dgit can detect the dgit history is composed entirely of
   synthesized commits (ie, imports from the debian archive and not dgit
   pushes), or is empty. I have no idea if this is feasible though.
3. As said, --overwrite sounds potentially data-lossy, but is the only
   solution to this predicament. Maybe it is desirable to have aliases
   for the common cases: --first-dgit-push or some such.



[1] https://spwhitton.name//blog/entry/pushsourcedropin/

-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 
'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.14.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dgit depends on:
ii  apt                               1.6~alpha7
ii  ca-certificates                   20170717
ii  coreutils                         8.28-1
ii  curl                              7.58.0-2
ii  devscripts                        2.17.12
ii  dpkg-dev                          1.19.0.5
ii  dput                              1.0.1
ii  git [git-core]                    1:2.16.1-1
ii  git-buildpackage                  0.9.7
ii  libdpkg-perl                      1.19.0.5
ii  libjson-perl                      2.97001-1
ii  liblist-moreutils-perl            0.416-1+b3
ii  libperl5.26 [libdigest-sha-perl]  5.26.1-4+b1
ii  libtext-glob-perl                 0.10-1
ii  libtext-iconv-perl                1.7-5+b6
ii  libwww-perl                       6.31-1
ii  perl                              5.26.1-4+b1

Versions of packages dgit recommends:
ii  openssh-client [ssh-client]  1:7.6p1-4

Versions of packages dgit suggests:
ii  sbuild  0.73.0-4

-- no debconf information

Reply via email to