Your message dated Sun, 16 Oct 2016 11:34:10 +0000
with message-id <>
and subject line Bug#833025: fixed in dgit 2.0
has caused the Debian Bug report #833025,
regarding dgit: quiltify smash strategy shouldn't fail when current patch queue 
fails to apply
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact

Debian Bug Tracking System
Contact with problems
--- Begin Message ---
Package: dgit
Version: 1.4
Severity: normal

The smash strategy should not fail when the current contents of
debian/patches/ does not apply cleanly to the upstream source.
Intuitively, one meaning of the smash strategy is "I know that no sane
linearisation can be automatically generated from the git history, so
just give me a diff."

For example, today I merged a new upstream version to a package with a
single patch in debian/patches/.  The patch no longer cleanly applies,
but I know that the only modifications I've made to the upstream source
should go into that single patch.  So I should be able to just use the
smash strategy, and then rename the resulting patch that dgit leaves in

However, the smash strategy fails:

    hephaestus ~/src/stylish-haskell % dgit --quilt=smash build
    Format `3.0 (quilt)', checking/updating patch stack
    starting quiltify (multiple patches, smash mode)
    dpkg-source: error: LC_ALL=C patch -t -F 0 -N -p1 -u -V never -E -b -B 
.pc/0001-Debianize-README.patch/ --reject-file=- < 
stylish-haskell- gave error 
exit status 1
    dgit: failed command: sh -ec 'exec dpkg-source --no-check -x fake.dsc 
    dgit: subprocess failed with error exit status 2

The reason is that `dpkg-source --no-check -x fake.dsc' fails because
the patches don't apply cleanly.  Perhaps dgit should detect this
failure, and respond by generating the upstream diff itself by looking
at the orig.tar and comparing it with HEAD, put that in debian/patches/
and be done with it.  If this sounds sensible, I could prepare a patch.


-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (900, 'testing')
Architecture: i386 (i686)

Kernel: Linux 4.5.0-2-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages dgit depends on:
ii  ca-certificates                   20160104
ii  coreutils                         8.25-2
ii  curl                              7.47.0-1
ii  devscripts                        2.16.6
ii  dpkg-dev                          1.18.9
ii  dput                    
ii  git [git-core]                    1:2.8.1-1
ii  libdpkg-perl                      1.18.9
ii  libjson-perl                      2.90-1
ii  libperl5.22 [libdigest-sha-perl]  5.22.2-3
ii  libwww-perl                       6.15-1
ii  perl                              5.22.2-3

Versions of packages dgit recommends:
ii  openssh-client [ssh-client]  1:7.2p2-7

Versions of packages dgit suggests:
ii  sbuild  0.69.0-2

-- no debconf information

Sean Whitton

Attachment: signature.asc
Description: PGP signature

--- End Message ---
--- Begin Message ---
Source: dgit
Source-Version: 2.0

We believe that the bug you reported is fixed in the latest version of
dgit, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
Ian Jackson <> (supplier of updated dgit package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing

Hash: SHA256

Format: 1.8
Date: Sun, 16 Oct 2016 12:12:50 +0100
Source: dgit
Binary: dgit dgit-infrastructure
Architecture: all source
Version: 2.0
Distribution: unstable
Urgency: low
Maintainer: Ian Jackson <>
Changed-By: Ian Jackson <>
Closes: 796773 800054 800060 800078 800110 809516 827878 827892 829121 833025 
834618 834807 835858 838718
 dgit       - git interoperability with the Debian archive
 dgit-infrastructure - dgit server backend infrastructure
 dgit (2.0) unstable; urgency=low
   Incompatible change:
   * dgit sbuild: does not pass -A to sbuild.  Consequently the default
     build is now simply sbuild's default.  With older sbuilds it was
     possible to override dgit's -A by passing another option.  But this
     has been changed recently and now this default setting is very awkward
     to change for the dgit user.
   * dgit gbp-build: Make --quilt=gbp the default.  (See below.)
   * New tag format (for dgit view) archive/debian/VERSION.
   Major new feature:
   * --quilt=gbp, --quilt=dpm, --quilt=unpacked: Introduce facility for
     split view (dgit/mainiainer view), to improve compatibility with some
     workflow tools.
   New checks and improved behaviours in dgit:
   * When running dpkg-buildpackage, cope if user specified -g or -G.
   * dgit sbuild: check that the set of .changes files found is as we
     expect, before calling mergechanges.  Re:#800060.
   * dgit sbuild: Rename the used-up .changes files to `.inmulti' to
     avoid accidental use of the wrong one (by software, or by users).
   * dgit sbuild: Check that the binary .changes file doesn't contain a
   * Introduce --rm-old-changes to delete previous builds' changes files.
   * Remove any pre-existing _source.changes file before building source,
     as a safety check.
   * No longer tolerate a multitude of .changes files when doing push.
     Instead, insist on a single one.  Closes:#800110.
   * dgit sbuild no longer deletes extranious .changes files; instead
     we rely on --rm-old-changes, or failing that, fail early.
   * When doing quilt linearisation, treat upstream .gitignores not
     in the toplevel the same way we treat ones in the toplevel.
   * When automatically generating quilt patch, honour GIT_COMMITTER_DATE
     for filename creation (makes filename deterministic in test suite).
   * New --overwrite option, replaces need to for user to use
     git merge -s ours.  Closes:#838718.
   * When generating quilt patches from git commits, make patches that
     look quite like git-format-patch output (rather than strange things
     based on an obselete interpretation of DEP-3).
   * When generating quilt patches from git commits, honour (and strip)
     any Gbp-Pq headers (that we understand).
   * Several dgit-generated commits now have slightly better annotations
     from dgit about what it was doing.
   * Before committing to push, check that .dsc and .changes correspond.
   * Better error message if non-split-brain patch stack no longer
     applies (due to new upstream version, or user messing with it).
   * Better error message if HEAD contains changes unrepresentable
     by `3.0 (quilt)'.  Closes:#834618.
   * Much better error message when HEAD and .dsc do not match.
   * dgit-repos-policy-debian: Better error handling.
   * dgit-repos-policy-debian.: fix git-cat-file-handling with multiple
     taints in db (!).
   * dgit-infrastructure has, and uses, its own copies of the perl modules.
     This avoids introducing a versioned dependency between dgit and
     dgit-infrastructure (and also makes it easier to test cross-version
   * Document the dgit-distro.DISTRO.quilt-mode config setting.
   * Clarify the --clean= options' documentation.  Closes:#800054.
   * Discourage use of the --PROGRAM:OPTION escape hatch.  (Apropos
     of various bug reports including #800060 and #833025.)
   * Document the expected form of HEAD for each --quilt= mode.
   * When cleaning up after failed clone, stat the to-be-cleaned-up
     directory before running rmtree on it.  Closes:#796773.
   * Do not call "warn" on failure of cleanup handler in END block
     (since warn has been made fatal and aborts the cleanup chain).
   * Print better error message (with `fail' rather than `die') if
     `dgit clone' cannot create the destination directory.
   * Properly substitute $changesfile in one of the `You can retry'
     messages.  Closes:#800078.
   * Pass --ch:* and -v options to dpkg-buildpackage when building
     source.  Fixes bad Perl poetry syntax.  Closes:#829121.
   * When synthesing a commit from a .dsc from the archive, stop
     internal git reset from printing a confusing message about HEAD.
   * Turn off git gc in the private working areas.
   * Do not fail to do some important quilt processing in some
     --quilt modes.
   * Fix two calls to chdir without proper error checking.
   * Fix a couple of bugs in error reporting.
   * Fix several bugs in .orig detection/recognition.
   * Tidy up refs/dgit-fetch/ after dgit fetch (if successful).
   * Fix handling of in-archive copies.
   * Don't break if user has push.followTags=true.  Closes:#827878.
   * Arrange for the special dgit remote to be skipped by git fetch --all
     etc.  And no longer configure a fetch spec, since it won't work
     anyway.  Closes:#827892.
   * Allow local git config options to override user-global ones,
     as is proper.  Closes:#835858.
   * When generating patch filenames from titles, first transliterate
     them (lossily) to ascii.  Closes:#834807.
   Test suite:
   * When sbuild fails, do not crash due to sed not finding the log
     file.  Instead, simply tolerate the absence of the log file.
   * Put --no-arch-all in build-modes-sbuild act, not only its real_act.
     Cosmetic change only.
   * Set GIT_COMMITTER_DATE and GIT_AUTHOR_DATE and increment them
     explicitly in drs-push-rejects test.  This avoids date dependencies
     which can cause that test to fail on fast computers.
   * Remove some spurios .debs from the example_1.0.tar.
   * Increase sqlite_busy_timeout in debpolicy-dbretry, because old
     zealot is very slow and we need to give the other processes time
     to rollback and release the lock.
   * Test quilt single-debian-patch.
   * Provide `tartree-edit gitfetchinfo' etc. to help with comparing
     different test case git working tree tarballs.
   * Test dgit-repos-policy-debian with multiple (identical, as it happens)
     existing taints.
   * Provide better log output for certain failures.
   * Many new tests (especially for new functionality).
   * Add missing debhelper (>=8) to test suite's global Depends.
   * tstunt arrangements: Fix mishandling of PERLLIB, etc.
   * tstunt-parsechangelog: Produce Timestamp field (like official one
     does, now).
   * Do not fail when git requires --allow-unrelated-histories.
 ee8d01fdd0c738eaa8cb6e5e2119a14231c67ca1 1283 dgit_2.0.dsc
 7e2e0cf4ecde5c3466d821aff414efb97f90c315 341103 dgit_2.0.tar.gz
 608f3fc831f5d5c338b995b85f19300030cfb06b 39352 dgit-infrastructure_2.0_all.deb
 b096a88d8fb9262065d79d8d5eba489c2e53cc16 79030 dgit_2.0_all.deb
 d79dfdebf4cf57e74c9430b1ab7e9dabb9f07088a9c63f89626831027fe7be93 1283 
 6def67de4c029f9238a5d512a4504be272c10b698548768498382aa275895f25 341103 
 be92cb4013e9f369ad4fbad13d06bd828a7b37202ee31b84e306e46c8e18cd7e 39352 
 70df4f0986abfbb210bff28a03df8b8818846d3b3f0e642ebc3f2f207b2f25e9 79030 
 29ad75b33a518bea326653d16d1ba2b3 1283 devel optional dgit_2.0.dsc
 db0216e966ee899de37b02c543a9ef40 341103 devel optional dgit_2.0.tar.gz
 3ec8eadc1d11767e0cdbccf99d2ec80f 39352 devel extra 
 85986a70c88c847f466aabd96c7e185a 79030 devel optional dgit_2.0_all.deb

Version: GnuPG v1


--- End Message ---

Reply via email to