-dgit (1.5~~) unstable; urgency=medium
+dgit (3.0~) unstable; urgency=medium
+
+ Protocol change:
+ * Dgit: field now records the nominal distro name, and a hint
+ for a tag and url where the git objects (including any rewrite
+ map) can be fetched.
+ * Use this information, where provided. Closes:#850431.
+
+ Bugfixes:
+ * dgit config handling: Honour command-line and context-provided
+ suite and distro more reliably and consistently.
+
+ Minor new feature:
+ * distro alias facility in config space. (Primarily for testing.)
+
+ dgit-badcommit-fixup:
+ * Do not investigate symrefs. Closes:#850547.
+
+ * Improve debugging output a bit.
+
+ Test suite:
+ * Internal improvements.
+ * badcommit-rewrite: Fix operation using installed version of fixup.
+ * Arrange to pass --debug-quick-random to gpg-agent.
+ * Strip block count out of find -ls output - it is unstable!
+ * gbp-orig: Add a missing -m, without which git would run an
+ editor if stdout was a tty (!)
+ * Add t-stunt-parsechangelog to a few tests which were missing it.
+ * Tests for the new protocol feature.
+
+ --
+
+dgit (2.16.2) unstable; urgency=low
+
+ dgit-badcommit-fixup:
+ * Fix crash when running for 2nd time in bare repo.
+ * In --check mode, exit with status 2 if things are not fine.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sat, 07 Jan 2017 13:31:50 +0000
+
+dgit (2.16.1) UNRELEASED; urgency=low
+
+ * dgit-badcommit-fixup: New mode --check which is readonly.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sat, 07 Jan 2017 13:04:49 +0000
+
+dgit (2.16) unstable; urgency=low
+
+ Dealing with fallout from #849041:
+ * Provide dgit-badcommit-fixup history-rewriting script.
+ * New rewrite map feature, which allows dgit git server to adjust
+ clients' interpretation of Dgit fields, so that history-rewriting is
+ effective. (Feature is only partially implemented right now -
+ enough to dig current Debian users out of the hole.) Re:#850431.
+
+ Test suite:
+ * New test case for history-rewriting.
+ * Change `local foo=$(bar)' idiom to `local foo; foo=$(bar)' since
+ the former does not trip set -e even if bar fails :-(.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Fri, 06 Jan 2017 20:46:30 +0000
+
+dgit (2.15) UNRELEASED; urgency=high
+
+ Infastructure:
+ * Prevent introduction of new commits which lack `committer'
+ information. Ie, prevent the reception of new commits afflicted by
+ #849041. Existing commits are tolerated.
+
+ Test suite:
+ * Be much stricter about messages from git-fsck.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Thu, 05 Jan 2017 18:20:23 +0000
+
+dgit (2.14) unstable; urgency=critical
+
+ CRITICAL BUGFIX:
+ * Do not generate bogus commits with --overwrite or import-dsc.
+ Closes:#849041.
+
+ Test suite:
+ * Run a lot of git-fsck.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Wed, 04 Jan 2017 22:52:55 +0000
+
+dgit (2.13) unstable; urgency=high
+
+ Changed behaviour:
+ * quilt fixup: Permit creation of patches which delete files, by psssing
+ --include-removal to dpkg-source, and tolerating it when we do our
+ quilt fixup analysis. dpkg-source has supported this since at least
+ stretch. Closes:#848901.
+
+ Error messages:
+ * Improve "cannot represent change" message: print the git old and new
+ modes too.
+
+ Bugfix:
+ * Import: Switch back to unpa branch on patch import iterations.
+ In particular, do not fail utterly if dpkg-source and gbp disagree.
+ Closes:#848843.
+
+ Documentation [Sean Whitton]:
+ * dgit-maint-gbp(7): Remove reference to closed bug. Closes:#848725.
+ * dgit-sponsorship(7): Update in light of fixed #844129. Closes:#848789.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Wed, 21 Dec 2016 01:32:41 +0000
+
+dgit (2.12) unstable; urgency=high
+
+ Changed behaviours:
+ * By default, generate a DEP-14 tag as well as a dgit archive/*
+ tag, even in non-split-view quilt modes. Closes:#844129.
+ * Version tags mangling: Protect dots, as per proposed update to DEP-14.
+
+ Documentation:
+ * dgit-maint-merge(7): Explain how to change to this workflow
+ from an existing git workflow. [Sean Whitton] Closes:#847807.
+ * dgit-maint-native(7): Clarify that we mean native source format.
+ [Phil Hands] Closes:#847987.
+
+ Error messages:
+ * Slightly better message when .dsc not found. Apropos of #844128.
+ * Give better advice if .dsc/.changes signing fails: if no changes
+ are needed to the package, user may indeed just debsign and dput.
+ Closes:#844131.
+ * Produce better error reporting when absurd git wrapper fails
+ on a patch during .dsc import. Apropos of #848391.
+
+ Bugfixes:
+ * If we cannot hardlink origs into our extraction area, use symlinks
+ instead. Closes:#844570.
+ * Suppress some leftover debugging output from import-dsc.
+ Closes:#847658.
+ * Do not fail when cloning a package containing dangling symlinks.
+ Closes:#848512.
+ * Do not fail to import a .dsc containing patches which patch files
+ multiple times, due to #848611. Closes:#848391.
+ * Do not fail to import a .dsc containing patches to .git/ (!)
+ * infra: dgit-repos-policy-debian which broke due to recent git setting
+ GIT_ALTERNATE_OBJECT_DIRECTORIES in the pre-receive-hook.
+ (fixes test suite regression in stretch).
+
+ Test suite:
+ * Provide and use stunt lintian and debuild, to avoid lintian
+ complaining about our stupid test packages.
+ (fixes test suite regression in stretch).
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Mon, 19 Dec 2016 17:35:18 +0000
+
+dgit (2.11) unstable; urgency=medium
+
+ Documentation:
+ * dgit-user(7): Better explanation of combined suites (comma syntax).
+ Thanks to Sean Whitton for review and suggestions.
+ * dgit(1), dgit(7): Better reference docs for combined suites.
+ * dgit(1): Improve formatting of rpush section.
+
+ Test suite:
+ * Replace make in Test-Depends with build-essential. Most of the tests
+ do in fact run dpkg-buildpackage which bombs out if build-essential is
+ missing.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Tue, 08 Nov 2016 22:41:29 +0000
+
+dgit (2.10) unstable; urgency=medium
+
+ New features:
+ * Support the Debian *-security suites.
+ * New comma-separated multiple-suite merging facility (readonly),
+ so that users can easily track "jessie, or jessie-security".
+ * dgit-user(7): Suggest `dgit clone P jessie,-security'.
+
+ Bugfixes:
+ * Cope when an orig tarball is a tarbomb. Ie, if it contains
+ other than one single directory toplevel. Closes:#843422.
+ * Actually honour the branch name, if we are on dgit branch, to specify
+ the suite, as documented in the manpage.
+ * When cloning a distro which has no git server, correctly leave
+ the user on the local dgit branch, not on `master'.
+ * Fix an unconditional print that was supposed to be a printdebug:
+ origs <blah>.orig.tar.gz f.same=1 #f._differ=-1
+ * Print a slightly better message if .git found in orig tarball(s).
+
+ Test suite:
+ * Test suite: Add fakeroot and make to Test-Depends. These aren't
+ necessarily pulled in by anything else. (dpkg-dev Recommends
+ build-essential. But we don't actually need build-essential.)
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Tue, 08 Nov 2016 01:08:51 +0000
+
+dgit (2.9) unstable; urgency=medium
+
+ New features:
+ * During push, automatically calculate which .origs are required,
+ so user never needs [--ch:]-sa or [--ch:]-sd. Closes:#829116.
+ * New import-dsc feature.
+ * New option --dgit-view-save= for split view quilt modes.
+ In particular, means that the output of a split view quilt-fixup
+ is left somewhere useful.
+ * dgit clone: Set timestamps in cloned tree to a single unified time.
+ This makes it less likely that the user will trip over any
+ timestamp-dependent FTBFS bugs (eg #842452).
+ * Support dgit --delayed= push (with a warning in the manpage
+ about possible skew).
+ * dgit gbp-build will arrange to let gbp buildpackage generate
+ .orig tarballs if it seems applicable. Closes:#841094.
+
+ Documentation improvements:
+ * dgit-*(7). Many new tutorial manpages, several written and many
+ improved by Sean Whitton.
+ * dgit(7): Substantial updates, including documenting split view.
+ * dgit(1): Better cross-references.
+ * dgit(1): Remove obsolete workflow information.
+ * dgit(1): Improved BUGS section.
+ * Fix changelog entry for SIGPIPE to correctly mention
+ Closes:#841090.
+
+ Bugfixes:
+ * Split brain mode: Fix --new. Closes:#842577.
+ * Properly look for .origs etc. in .., fetching them less often.
+ Closes:#842386.
+ * Reject `dgit pull' in split view quilt modes, to avoid
+ creating unfortunate wreckage on non-dgit-view branches.
+ Closes:#842608.
+ * Cope when cloning suite which doesn't receive uploads,
+ like testing. Closes:#842621.
+ * Properly fetch all archive dgit view tags, as we intended.
+ * Actually provide a -p (--package=) option (!)
+
+ Test suite fixes:
+ * Test suite: Explicitly configure user.name and user.email, so
+ that tests work when environment doesn't have defaults.
+ Closes:#842279 (I hope).
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Mon, 31 Oct 2016 12:47:18 +0000
+
+dgit (2.8) unstable; urgency=medium
+
+ * When in split build mode for `gbp-build' or `build', run
+ mergechanges as is required. Closes:#841990.
+ * Test suite: build-mode-*: Check that right .changes comes out
+ (detects #841990).
+ * Defend against debian/patches/series being an unusual object, in case
+ dpkg-source doesn't, in absurd git-apply fallback.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Tue, 25 Oct 2016 17:29:23 +0100
+
+dgit (2.7) unstable; urgency=medium
+
+ Absurd bugfix for serious bug:
+ * Work around `git-apply' problems (eg #841865, #829067) exposed by
+ `gbp pq import' (#841866) by sometimes falling back to an emulation of
+ git-apply in terms of dpkg-source --before-build. Closes:#841867.
+
+ Minor changes:
+ * dgit(1): Reorder the options, moving more important ones earlier.
+ * dgit(1): Some more info about --deliberately.
+ * Provide various --force-something options. Please don't use them.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Mon, 24 Oct 2016 02:37:28 +0100
+
+dgit (2.6) unstable; urgency=medium
+
+ Fixes to HTTP handling:
+ * Check for non-2xx HTTP status codes from ftpmaster api server.
+ * Always honour --curl= and --curl:.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sun, 23 Oct 2016 14:57:22 +0100
+
+dgit (2.5) unstable; urgency=low
+
+ Substantive changes:
+ * Do not crash in split brain quilt modes when the two brains are
+ actually identical. (Eg --quilt=gbp with no patches.) Closes:#841770.
+ * Switch to new archive/ tag format by default, even in
+ non-split-brain mode.
+ * Provide --gbp and --dpm as aliases for --quilt=gbp and --quilt=dpm.
+
+ Documentation:
+ * dgit-maint-merge(7): New tutorial manpage from Sean Whitton.
+
+ Test suite:
+ * Introduce setup/gnupg, to help work around gnupg2 bug #841143
+ and improve performance by amortising gnupg migration cost.
+ * Various bugfixes.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sun, 23 Oct 2016 13:20:23 +0100
+
+dgit (2.4) unstable; urgency=low
+
+ Bugfixes:
+ * split brain cache: Fix a wrong implicit reference to $_.
+ Closes:#841383.
+ * split brain cache: Make sure to write reflog entries for cache updates
+ even if the eventual tree (and therefore commit) is the same.
+ Otherwise, after updating dgit, the cache might have the right answer
+ but not be refreshed even by a build.
+ * dgit gbp-build: No longer invent a --git-debian-branch option.
+ Usually the user is a maintainer using split brain, and we should rely
+ on their own gbp configuration to specify the right check.
+ Closes:#841100.
+
+ Minor docs fix:
+ * dgit(1): Document which --ch: options are a good idea.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Thu, 20 Oct 2016 16:31:54 +0100
+
+dgit (2.3) unstable; urgency=low
+
+ * With --overwrite, do not check all sorts of tags (which may
+ not exist, or might contain wrong things). Closes:#841101.
+ * When generating pseudomerge in quilt split brain mode due to
+ --overwrite, actually include the version number in the commit
+ message.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Tue, 18 Oct 2016 01:58:05 +0100
+
+dgit (2.2) unstable; urgency=low
+
+ * Fix config relating to Debian to actually make split brain mode
+ work. Closes:#841085.
+ * Detect SIGPIPE (and SIGCHLD) being blocked or ignored.
+ Closes:#841090.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Mon, 17 Oct 2016 17:31:18 +0100
+
+dgit (2.1) unstable; urgency=low
+
+ * Do not crash due in clone to failure to handle dpkg-parsechangelog
+ SIGPIPE. Closes:#840989. Avoids:
+ dgit: failed command: dpkg-parsechangelog --format rfc822 --all
+ dgit: subprocess died due to fatal signal PIPE
+ * git- prefixes: Fix some occurrences of `git-foo' in infrastructure,
+ messages, and test suite. Filter out .../git-core from PATH in
+ test suite so that we catch future occurrences.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sun, 16 Oct 2016 19:05:14 +0100
+
+dgit (2.0) unstable; urgency=low
Incompatible change:
- * dgit sbuild does not pass -A to sbuild. Consequently the default
+ * 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.
- New checks and improved behaviours:
+ 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.
+ 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
* 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.
+ 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
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.
+ Closes:#800060.
+ * Better error message if non-split-brain patch stack no longer
+ applies (due to new upstream version, or user messing with it).
+ Closes:#833025.
+ * 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.
+ Closes:#809516.
Infrastructure:
- * Better error handling in dgit-repos-policy-debian.
+ * 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
+ compatibility).
Documentation:
* 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.
Bugfixes:
* When cleaning up after failed clone, stat the to-be-cleaned-up
* 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
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
+ * 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.
* 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.
- --
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Sun, 16 Oct 2016 12:12:50 +0100
dgit (1.4) unstable; urgency=high
currently only be updated with an actual upload, ie dgit push.)
* Make warnings fatal in dpkg-repos-admin-debian, dgit-ssh-dispatch
(using setup_sigwarn).
- * Make warnings fatal in tstunt/dpkg-parsechangelog (directly).
+ * tstunt/dpkg-parsechangelog: Make warnings fatal (directly).
+ * tstunt/dpkg-parsechangelog: Do not complain if PERLLIB is empty.
* Test suite: Honour DGIT_TEST_DEBUG=''.
* With -DDDD, print out all gitcfg references (copious!)
* Fix a debug message in the obsolete sshpsql archive access driver.