chiark / gitweb /
dgit.git
10 months agoi18n: Flag a handful of messages for translation
Ian Jackson [Sat, 29 Sep 2018 00:24:24 +0000 (01:24 +0100)]
i18n: Flag a handful of messages for translation

This is just useful for testing the forthcoming machinery, so far.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
10 months agoi18n: Source-level framework: call setlocale, provide __ and ___
Ian Jackson [Sat, 29 Sep 2018 00:20:17 +0000 (01:20 +0100)]
i18n: Source-level framework: call setlocale, provide __ and ___

This is the general plumbing for looking up translated messages - the
consumer-side.  No actual messages are flagged for translation yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
10 months agoi18n: Copy po/Makefile and remove-potcdate.plfrom debconf
Ian Jackson [Mon, 30 Jul 2018 06:11:29 +0000 (07:11 +0100)]
i18n: Copy po/Makefile and remove-potcdate.plfrom debconf

These are from debconf.git a326240dd50487732d8546858994d48b45bf0b20.

There doesn't seem to be a common library for this kind of thing.  I'm
going to take debconf as a good example and nick the code.

Copyright: the debian/copyright file of debconf says it's
BSD-2-clause.  So add that, and copyright notices based on "git log"
(which does seem comprehensive).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
10 months agochangelog: start 6.13
Ian Jackson [Fri, 28 Sep 2018 17:19:17 +0000 (18:19 +0100)]
changelog: start 6.13

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
10 months agochangelog: Finalise 6.12 archive/debian/6.12 debian/6.12
Ian Jackson [Fri, 28 Sep 2018 17:17:23 +0000 (18:17 +0100)]
changelog: Finalise 6.12

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
10 months agotest suite: t-check-only-bpd: Check $tmp/.. not ..
Ian Jackson [Fri, 28 Sep 2018 17:04:03 +0000 (18:04 +0100)]
test suite: t-check-only-bpd: Check $tmp/.. not ..

The test might call t-ok in $p, say, or in $tmp.

The effect of this bug was that in tests where t-ok was called in
$tmp, it looked in $tmp/.. which might contain anything, rather than
$tmp as intended.  That means the test was not effective.

Also it causes a spurious failure of t-import-nonnative in the Ubuntu
CI infrastructure, where $AUTOPKGTEST_TMP/../autopkgtest-satdep.deb
happens to exist.

Reported-by: Mattia Rizzolo <mattia@debian.org>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agochangelog: start 6.12
Ian Jackson [Sun, 26 Aug 2018 20:59:12 +0000 (21:59 +0100)]
changelog: start 6.12

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agochangelog: Documentation changes and finalise 6.11 archive/debian/6.11 debian/6.11
Ian Jackson [Sun, 26 Aug 2018 20:57:22 +0000 (21:57 +0100)]
changelog: Documentation changes and finalise 6.11

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agodgit-maint-debrebase(7): Formatting & wording tweaks
Sean Whitton [Sun, 26 Aug 2018 16:24:49 +0000 (09:24 -0700)]
dgit-maint-debrebase(7): Formatting & wording tweaks

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
11 months agodgit-maint-debrebase(7): Avoid some uses of =item
Sean Whitton [Sun, 26 Aug 2018 16:24:13 +0000 (09:24 -0700)]
dgit-maint-debrebase(7): Avoid some uses of =item

Commands for the user to type into their shell should have empty lines
above and below them; this ensures that.  Admittedly while making the
POD source harder to read.

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
11 months agodgit-maint-debrebase(7): demote "Inspecting the history"
Sean Whitton [Sun, 26 Aug 2018 16:13:27 +0000 (09:13 -0700)]
dgit-maint-debrebase(7): demote "Inspecting the history"

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
11 months agoDrop obsolete local-pod-man script, now replaced by make %.view
Ian Jackson [Sun, 26 Aug 2018 14:36:32 +0000 (15:36 +0100)]
Drop obsolete local-pod-man script, now replaced by make %.view

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agoMakefile: Adjust scope of dgit(7) pod rule
Ian Jackson [Sat, 30 Jun 2018 20:34:46 +0000 (21:34 +0100)]
Makefile: Adjust scope of dgit(7) pod rule

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agochangelog: start 6.11
Ian Jackson [Sun, 26 Aug 2018 13:59:37 +0000 (14:59 +0100)]
changelog: start 6.11

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agochangelog: finalise 6.10 archive/debian/6.10 debian/6.10
Ian Jackson [Sun, 26 Aug 2018 13:58:24 +0000 (14:58 +0100)]
changelog: finalise 6.10

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agochangelog: Tidy up, preparatory to release
Ian Jackson [Sat, 25 Aug 2018 17:11:40 +0000 (18:11 +0100)]
changelog: Tidy up, preparatory to release

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agochangelog: Run gbp-dch
Ian Jackson [Sat, 25 Aug 2018 16:56:43 +0000 (17:56 +0100)]
changelog: Run gbp-dch

Needs tidying up.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agodgit: Pass --no-source to sbuild (always)
Ian Jackson [Sun, 26 Aug 2018 12:41:22 +0000 (13:41 +0100)]
dgit: Pass --no-source to sbuild (always)

Closes: #904966.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: Test dgit build --build=
Ian Jackson [Sun, 26 Aug 2018 12:33:57 +0000 (13:33 +0100)]
test suite: Test dgit build --build=

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agodgit: build-*: Cope with new-style --build= specifications
Ian Jackson [Sun, 26 Aug 2018 12:28:28 +0000 (13:28 +0100)]
dgit: build-*: Cope with new-style --build= specifications

Previously, we would generally bomb out.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: build-modes-*: Provide stunt dpkg-deb to pass -Znone
Ian Jackson [Sun, 26 Aug 2018 11:52:08 +0000 (12:52 +0100)]
test suite: build-modes-*: Provide stunt dpkg-deb to pass -Znone

This speeds it up from about 105 seconds to about 90, on my laptop.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: tstunt debchange: Use exec
Ian Jackson [Sun, 26 Aug 2018 11:42:56 +0000 (12:42 +0100)]
test suite: tstunt debchange: Use exec

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: Test dgit build with bpd
Ian Jackson [Sun, 26 Aug 2018 11:23:01 +0000 (12:23 +0100)]
test suite: Test dgit build with bpd

It's not expected to work.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agodgit: build: Squash $buildproductsdir
Ian Jackson [Sun, 26 Aug 2018 11:20:44 +0000 (12:20 +0100)]
dgit: build: Squash $buildproductsdir

Things malfunction, because some things end up in .. and some in bpd.
Overriding this at least makes `dgit build' produce correct results,
albeit in the wrong place.

Closes: #906786.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: break out build-modes-source
Ian Jackson [Sun, 26 Aug 2018 11:18:59 +0000 (12:18 +0100)]
test suite: break out build-modes-source

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: build-products-dir: Check nothing in ../
Ian Jackson [Sun, 26 Aug 2018 11:06:31 +0000 (12:06 +0100)]
test suite: build-products-dir: Check nothing in ../

If bpd was set then .. shouldn't have this kind of junk in it.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: sbuild-gitish: Do not use build-products-dir
Ian Jackson [Sun, 26 Aug 2018 12:21:39 +0000 (13:21 +0100)]
test suite: sbuild-gitish: Do not use build-products-dir

The runes in the manpage assume it's not set, and we run sbuild
directly anyway.  We are about to check that nothing ends up in ..
which is not true for this test.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agogdr-fresh: Honour $bpd
Ian Jackson [Sun, 26 Aug 2018 10:55:52 +0000 (11:55 +0100)]
gdr-fresh: Honour $bpd

Nothing depends on this right now, but I don't want to leave this
latent bug.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: run-all: Understand `:' specially
Ian Jackson [Sun, 26 Aug 2018 10:42:07 +0000 (11:42 +0100)]
test suite: run-all: Understand `:' specially

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: run-all: Move setting of TESTSCRIPTS
Ian Jackson [Sun, 26 Aug 2018 10:41:47 +0000 (11:41 +0100)]
test suite: run-all: Move setting of TESTSCRIPTS

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: run-all: Honour DGIT_TESTS_TMPDIR
Ian Jackson [Sun, 26 Aug 2018 10:38:57 +0000 (11:38 +0100)]
test suite: run-all: Honour DGIT_TESTS_TMPDIR

If this variable is set, tests/tmp will be made a symlink to a real
subdirectory under $DGIT_TESTS_TMPDIR.  The real subdirectory will be
removed and recreated as tests/tmp would otherwise be.

I set it to
  /run/user/`id -u`/dgit-tests-tmp

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: run-all: Without --progressive, rm and recreate tests/tmp
Ian Jackson [Sun, 26 Aug 2018 10:25:26 +0000 (11:25 +0100)]
test suite: run-all: Without --progressive, rm and recreate tests/tmp

This arranges to rerun tests/setup/ scripts, which wouldn't otherwise
happen; that is IMO a bug.

While we are here, introduce $tmpdir.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: Work if $tmp is on a different filesystem.
Ian Jackson [Sun, 26 Aug 2018 01:41:59 +0000 (02:41 +0100)]
test suite: Work if $tmp is on a different filesystem.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: gdr-makepatches7: use t-make-orig
Ian Jackson [Sun, 26 Aug 2018 00:29:44 +0000 (01:29 +0100)]
test suite: gdr-makepatches7: use t-make-orig

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: gdr-fresh: use t-make-orig
Ian Jackson [Sun, 26 Aug 2018 00:28:12 +0000 (01:28 +0100)]
test suite: gdr-fresh: use t-make-orig

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agogit-debrebase: t-make-orig: Pass -1 to gzip
Ian Jackson [Sun, 26 Aug 2018 00:19:14 +0000 (01:19 +0100)]
git-debrebase: t-make-orig: Pass -1 to gzip

This makes everything faster.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: lib-gdr: Factor out t-make-orig
Ian Jackson [Sun, 26 Aug 2018 00:18:08 +0000 (01:18 +0100)]
test suite: lib-gdr: Factor out t-make-orig

NFC, overall.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agodgit-maint-debrebase(7): Add runes for inspecting history
Ian Jackson [Sat, 25 Aug 2018 16:50:57 +0000 (17:50 +0100)]
dgit-maint-debrebase(7): Add runes for inspecting history

I'm not sure if this is the right place but I wanted to publish this
information sooner rather than later.

Closes: #907190.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: gdr-new-upstream: Test updating existing clog entry
Ian Jackson [Sat, 25 Aug 2018 16:40:04 +0000 (17:40 +0100)]
test suite: gdr-new-upstream: Test updating existing clog entry

This is the test case for #905888.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agogit-debrebase: Use debchange for new-upstream changelog entry
Ian Jackson [Sat, 25 Aug 2018 16:39:32 +0000 (17:39 +0100)]
git-debrebase: Use debchange for new-upstream changelog entry

Closes: #905888.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: Update date to one with nontrivial DST in Europe/London
Ian Jackson [Sat, 25 Aug 2018 16:38:50 +0000 (17:38 +0100)]
test suite: Update date to one with nontrivial DST in Europe/London

This may make more things fail for me if they have timezone bugs.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: debchange: Work around faketime TZ bug
Ian Jackson [Sat, 25 Aug 2018 16:36:52 +0000 (17:36 +0100)]
test suite: debchange: Work around faketime TZ bug

faketime's CLI does not permit correct unparsing of times in arbitrary
timezones.  So we must save and restore TZ.

See #907264.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: debchange: Freeze time
Ian Jackson [Sat, 25 Aug 2018 16:35:51 +0000 (17:35 +0100)]
test suite: debchange: Freeze time

Use faketime's advanced format.  Otherwise if debchange takes too
long, the timestamp generated by debchange is not what we expected.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: dch: Always use tstunt/debchange
Ian Jackson [Sat, 25 Aug 2018 16:21:37 +0000 (17:21 +0100)]
test suite: dch: Always use tstunt/debchange

We are going to make this more sophisticated, so use it everywhere to
avoid duplication.

We need to soup up tstunt/debchange so that it does not depend on
DGIT_TEST_REAL_DEBCHANGE.  If it hasn't been put on the PATH by
t-tstunt, that isn't set, and we can just run debchange from PATH.

This makes faketime a test dependency for all the tests which don't
have NO-DEFAULT.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: gdr-new-upstream: Break out clog-check-[12]
Ian Jackson [Sat, 25 Aug 2018 15:39:24 +0000 (16:39 +0100)]
test suite: gdr-new-upstream: Break out clog-check-[12]

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: gdr-new-upstream: Use new branch rather than reset
Ian Jackson [Sat, 25 Aug 2018 15:20:00 +0000 (16:20 +0100)]
test suite: gdr-new-upstream: Use new branch rather than reset

This makes it slightly easier to see what's going on, and to extend
the test.

No overall functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: gdr-newupstream: Add more dividers
Ian Jackson [Sat, 25 Aug 2018 15:16:40 +0000 (16:16 +0100)]
test suite: gdr-newupstream: Add more dividers

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agogit-debrebase: Prepare for calling debchange
Ian Jackson [Sat, 25 Aug 2018 15:14:23 +0000 (16:14 +0100)]
git-debrebase: Prepare for calling debchange

* Add it to the .deb dependencies
* Add tstunt/debchange to the gdr tests

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: Provide tstunt/debchange
Ian Jackson [Sat, 25 Aug 2018 15:13:35 +0000 (16:13 +0100)]
test suite: Provide tstunt/debchange

This uses faketime to get the date right, like t-dch does.
It has to be requested with t-tstunt debchange, which nothing does
yet, so NFC.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: gdr-new-upstream: Check changelog is exactly right
Ian Jackson [Sat, 25 Aug 2018 15:06:03 +0000 (16:06 +0100)]
test suite: gdr-new-upstream: Check changelog is exactly right

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agogit-debrebase: gdr-merge-conflicts: Call git merge --no-edit
Ian Jackson [Sat, 25 Aug 2018 17:32:56 +0000 (18:32 +0100)]
git-debrebase: gdr-merge-conflicts: Call git merge --no-edit

The default seems different in my sid chroot.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: test-list-uptodate: Drop imports and dependencies
Ian Jackson [Sat, 25 Aug 2018 18:15:32 +0000 (19:15 +0100)]
test suite: test-list-uptodate: Drop imports and dependencies

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 months agotest suite: gdr-fresh: Drop use of git-deborig and fix dependencies
Ian Jackson [Sat, 25 Aug 2018 18:14:01 +0000 (19:14 +0100)]
test suite: gdr-fresh: Drop use of git-deborig and fix dependencies

b765388a4cea
  "test suite: Test dgit calling git-debrebase on new debianisation"
failed to update the test dependencies, and does not work in a formal
autopkgtest run because dgit is not installed.

Additionally, Because scripts in devscripts have their own individual
dependencies, and the dependencies for git-deborig differ between
stretch and sid, It is not reasonably possible to write a dependency
which allows git-deborig to work.  This is another reason why this
test does not work in a formal run (this time, failing only on
sid/buster).

So, drop use of git-deborig, and the resulting dependency on
devscripts.  (dgit and git-debrebase pull in devscripts anyway, so
that is academic.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase(5): Document new understanding of debrebase-last
Ian Jackson [Sat, 25 Aug 2018 12:53:48 +0000 (13:53 +0100)]
git-debrebase(5): Document new understanding of debrebase-last

Bug #907208 shows that the previous statement wasn't true.

debrebase-last is still marginally useful: we use it for deciding what
hints to print in some error messages; detecting and rejecting
attempts to convert already-converted branches; and in
`git-debrebase status'.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agodgit: branch_is_gdr: Add a cautionary comment
Ian Jackson [Sat, 25 Aug 2018 12:53:34 +0000 (13:53 +0100)]
dgit: branch_is_gdr: Add a cautionary comment

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agotest suite: Test dgit calling git-debrebase on new debianisation
Ian Jackson [Sat, 25 Aug 2018 12:37:21 +0000 (13:37 +0100)]
test suite: Test dgit calling git-debrebase on new debianisation

Now all the cases in dgit's branch_is_gdr history walker are tested:

  DGIT_TEST_DEBUG=-DD tests/using-intree tests/run-all
  cat tests/tmp/*.log |perl -ne 'next unless s/^branch_is_gdr  \w+ //; print' |sort -u |less

Produces the same list as:

  git-grep 'branch_is_gdr  ' | perl -pe 's/^^dgit:\s+//' |sort |less

(With the list of gdr commit annotations the same as in the source.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebse: merge handling: Handle absence of patches via $any
Ian Jackson [Sat, 25 Aug 2018 12:36:35 +0000 (13:36 +0100)]
git-debrebse: merge handling: Handle absence of patches via $any

This saves testing for $seriesfile existence and makes the code
slightly less tangled.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: make-patches: Handle case when there are no patches
Ian Jackson [Sat, 25 Aug 2018 12:35:55 +0000 (13:35 +0100)]
git-debrebase: make-patches: Handle case when there are no patches

Previously, we would bomb out.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: keycommits: Fix doc comment
Ian Jackson [Sat, 25 Aug 2018 12:35:11 +0000 (13:35 +0100)]
git-debrebase: keycommits: Fix doc comment

There's no $dgitimport; that's $trouble.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: convert-to-gbp: Handle no-patches case better
Ian Jackson [Sat, 25 Aug 2018 12:33:16 +0000 (13:33 +0100)]
git-debrebase: convert-to-gbp: Handle no-patches case better

In this case it's very like git-debrebase forget-was-debrebase.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: convert-to-gbp: Actually start from breakwater
Ian Jackson [Sat, 25 Aug 2018 12:31:15 +0000 (13:31 +0100)]
git-debrebase: convert-to-gbp: Actually start from breakwater

Contrary to the documentation, this operation would start from HEAD.
It should rewind to the breakwater.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: make_patches_staged: Return flag, are there any patches?
Ian Jackson [Sat, 25 Aug 2018 12:21:51 +0000 (13:21 +0100)]
git-debrebase: make_patches_staged: Return flag, are there any patches?

All callers currently ignore the return value, so NFC.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: gbp_pq_export: Return flag, are there any patches?
Ian Jackson [Sat, 25 Aug 2018 12:21:09 +0000 (13:21 +0100)]
git-debrebase: gbp_pq_export: Return flag, are there any patches?

All callers currently ignore the return value, so NFC.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agodgit: branch_is_gdr: Put gdr commit annotations in alphabetical order
Ian Jackson [Sat, 25 Aug 2018 11:48:03 +0000 (12:48 +0100)]
dgit: branch_is_gdr: Put gdr commit annotations in alphabetical order

This makes it slightly easier to see our test coverage.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agotest suite: Separate t-gdr-gbp-import-core from -with-queue
Ian Jackson [Sat, 25 Aug 2018 11:44:05 +0000 (12:44 +0100)]
test suite: Separate t-gdr-gbp-import-core from -with-queue

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agotest suite: Test dgit branch_is_gdr walker on a merge resolution
Ian Jackson [Sat, 25 Aug 2018 11:32:54 +0000 (12:32 +0100)]
test suite: Test dgit branch_is_gdr walker on a merge resolution

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agotest suite: Test dgit detection of fresh branch for gdr make-patches
Ian Jackson [Sat, 25 Aug 2018 09:35:29 +0000 (10:35 +0100)]
test suite: Test dgit detection of fresh branch for gdr make-patches

This tests that #907208 is fixed.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agotest suite: gdr-diverge-nmu-dgit: Insist on gdr-generated patches
Ian Jackson [Sat, 25 Aug 2018 10:55:42 +0000 (11:55 +0100)]
test suite: gdr-diverge-nmu-dgit: Insist on gdr-generated patches

Now dgit runs git-debrebase make-patches, with the result that the
patch commit in this conflict will be made by gdr.

This is what we want, so now that we have it, insist on it.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agotest suite: Honour DGIT_TEST_RUN_PFX env var
Ian Jackson [Sat, 25 Aug 2018 11:31:38 +0000 (12:31 +0100)]
test suite: Honour DGIT_TEST_RUN_PFX env var

One might set this to `eatmydata', for example.

(It's not a good idea to wrap run-all or the Makefile in eatmydata,
because you actually want the stamp files etc. at least.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agodgit: Replace branch_is_gdr with a history walker
Ian Jackson [Sat, 25 Aug 2018 00:05:22 +0000 (01:05 +0100)]
dgit: Replace branch_is_gdr with a history walker

The debrebase-last approach is fundamentally wrong, because, for
example, cloning a stitched laundered gdr branch from a git server
does not establish debrebase-last, so dgit would make patches
itself (slowly).

So, instead, use git-debrebase make-patches in situations where it
will succeed.  We could just run it but that's slower, and it is a bit
awkward because we have to consider whether gdr is installed.  So
provide our own implementation.  It can be simpler because it only has
to handle the easy cases;

On testing of the new algorithm: we want to be confident that this
doesn't misfire; otherwise dgit users could be inconvenienced.  And we
want it to work for gdr users of course.

We can analyse the test coverage of the logic in branch_is_gdr
by running the whole test suite and then comparing this:

  cat tests/tmp/*.log |perl -ne 'next unless s/^branch_is_gdr  \w+ //; print' |sort -u |less

with this:

  git-grep 'branch_is_gdr  ' | perl -pe 's/^^dgit:\s+//' |sort |less

Noting that we should ideally have one each of all the gdr kinds we
try to recognise.  Currently that shows that we are missing only:

  gdr merged-breakwater
  unmarked BreakwaterStart YES

Closes: #907208.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agotest suite: gdr-diverge-nmu-dgit: Tolerate gdr-generated patches
Ian Jackson [Sat, 25 Aug 2018 10:55:16 +0000 (11:55 +0100)]
test suite: gdr-diverge-nmu-dgit: Tolerate gdr-generated patches

We are about to extend the set of situations where dgit runs
git-debrebase make-patches, with the result that the patch commit in
this conflict will be made by gdr.

This is good, so allow it.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agodgit: Introduce get_tree_of_commit
Ian Jackson [Fri, 24 Aug 2018 23:57:59 +0000 (00:57 +0100)]
dgit: Introduce get_tree_of_commit

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: Do not abandon quilt fixup at gdr split commits
Ian Jackson [Fri, 24 Aug 2018 23:44:51 +0000 (00:44 +0100)]
git-debrebase: Do not abandon quilt fixup at gdr split commits

One of these might well be in the delta queue somehow.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: Make all commit annotations have a COMMIT-TYPE
Ian Jackson [Fri, 24 Aug 2018 23:43:17 +0000 (00:43 +0100)]
git-debrebase: Make all commit annotations have a COMMIT-TYPE

Omitting this sometimes turns out to have a mistake.  We are going to
want to distinguish at least split from other commits.  Add a
COMMIT-TYPE to the others as future-proofing.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agotest suite: lib-gdr: Check that we made patches with gdr
Ian Jackson [Fri, 24 Aug 2018 21:35:04 +0000 (22:35 +0100)]
test suite: lib-gdr: Check that we made patches with gdr

Conveniently, the places where we don't want this, and are
deliberately looking for dgit-self-made patches, are gdr-makepatches7
and mix-it in gdr-subcommands; there, we don't push, so don't end up
checking t-gdr-made-patches.

We also add this check to the appropriate place in gdr-subcommands.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agotest-suite: lib-gdr: Be more defensive about unexpected states/args
Ian Jackson [Fri, 24 Aug 2018 21:29:33 +0000 (22:29 +0100)]
test-suite: lib-gdr: Be more defensive about unexpected states/args

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase(5): Warn against renaming branch while unstitched
Ian Jackson [Fri, 24 Aug 2018 20:42:59 +0000 (21:42 +0100)]
git-debrebase(5): Warn against renaming branch while unstitched

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: Do not try split brain gdr make-patches
Ian Jackson [Fri, 24 Aug 2018 20:41:55 +0000 (21:41 +0100)]
git-debrebase: Do not try split brain gdr make-patches

Print a helpful error message instead.

Closes: #906908.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: test suite: gdr-subcommands: test forget
Ian Jackson [Fri, 24 Aug 2018 20:37:16 +0000 (21:37 +0100)]
git-debrebase: test suite: gdr-subcommands: test forget

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: forget-was-ever-debrebase: New subcommand
Ian Jackson [Fri, 24 Aug 2018 20:31:49 +0000 (21:31 +0100)]
git-debrebase: forget-was-ever-debrebase: New subcommand

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agotest suite: gdr-import-nostitch: Test -fseries-comments
Ian Jackson [Fri, 24 Aug 2018 20:12:58 +0000 (21:12 +0100)]
test suite: gdr-import-nostitch: Test -fseries-comments

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: convert-from-*: snag on discarding comments in series
Ian Jackson [Fri, 24 Aug 2018 20:11:40 +0000 (21:11 +0100)]
git-debrebase: convert-from-*: snag on discarding comments in series

series files can contain #-comments.  The conversion process will
throw them away, so complain about that.

Closes: #907198.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agotest suite: Make example_1.1 contain a patch with Name and Topic
Ian Jackson [Fri, 24 Aug 2018 19:31:02 +0000 (20:31 +0100)]
test suite: Make example_1.1 contain a patch with Name and Topic

This triggers #907202 and #907206.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: classify: Do not misclassify patches in subdirs
Ian Jackson [Fri, 24 Aug 2018 19:23:22 +0000 (20:23 +0100)]
git-debrebase: classify: Do not misclassify patches in subdirs

The old get_differs algorithm would recurse in debian/patches.
The new one failed to do that.  Fix that.

Closes: #907206.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: trees_diff_walk: Support recursion
Ian Jackson [Fri, 24 Aug 2018 19:20:35 +0000 (20:20 +0100)]
git-debrebase: trees_diff_walk: Support recursion

No-one specifies this yet, so NFC.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: Fix get_tree's memoisation wrt $recurse
Ian Jackson [Fri, 24 Aug 2018 19:12:41 +0000 (20:12 +0100)]
git-debrebase: Fix get_tree's memoisation wrt $recurse

$recurse needs to be part of the key to the memo hash!

Luckily, there is only one caller which calls with $recurse==1,
check_series_has_all_patches.  It ends up mishandles this situation by
complaining about the directory names, as if they were unused patches.

And after that no-one needs to call get_tree.

Closes: #907202.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agogit-debrebase: trees_diff_walk: Refactor $all to \%opts
Ian Jackson [Fri, 24 Aug 2018 18:56:12 +0000 (19:56 +0100)]
git-debrebase: trees_diff_walk: Refactor $all to \%opts

No callers pass this so NFC.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agochangelog: start 6.10
Ian Jackson [Tue, 21 Aug 2018 13:40:36 +0000 (14:40 +0100)]
changelog: start 6.10

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agochangelog: fianlise 6.9 archive/debian/6.9 debian/6.9
Ian Jackson [Tue, 21 Aug 2018 13:36:41 +0000 (14:36 +0100)]
changelog: fianlise 6.9

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agodgit: Remove unsubstituted $changesfile from message
Ian Jackson [Tue, 21 Aug 2018 12:40:31 +0000 (13:40 +0100)]
dgit: Remove unsubstituted $changesfile from message

Closes:#906787.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agochangelog: Document docs changes
Ian Jackson [Tue, 21 Aug 2018 12:31:12 +0000 (13:31 +0100)]
changelog: Document docs changes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agodgit-maint-debrebase(7): Add crossreference to "ILLEGAL OPERATIONS"
Sean Whitton [Mon, 20 Aug 2018 16:17:58 +0000 (09:17 -0700)]
dgit-maint-debrebase(7): Add crossreference to "ILLEGAL OPERATIONS"

There are three items under "ILLEGAL OPERATIONS":

1. We already refer to "OTHER MERGES".

2. This commit adds a crossreference to the second item.

3. The information under "Editing debian/patches" is already basically
   included in dgit-maint-debrebase(7).

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
12 months agodgit-maint-debrebase(7): Rewrite "Converting an existing package"
Sean Whitton [Mon, 20 Aug 2018 16:15:54 +0000 (09:15 -0700)]
dgit-maint-debrebase(7): Rewrite "Converting an existing package"

Closes:#905573

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
12 months agotest suite: Update debian/tests/control following dependency fix.
Ian Jackson [Tue, 21 Aug 2018 12:33:04 +0000 (13:33 +0100)]
test suite: Update debian/tests/control following dependency fix.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agodgit: do not crash on push of a new gdr package. Closes:#906784.
Ian Jackson [Tue, 21 Aug 2018 01:08:39 +0000 (02:08 +0100)]
dgit: do not crash on push of a new gdr package.  Closes:#906784.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agochangelog: start 6.9
Ian Jackson [Mon, 20 Aug 2018 13:53:48 +0000 (14:53 +0100)]
changelog: start 6.9

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agotest suite: Fix dependencies of new gdr-merge-conflicts test. archive/debian/6.8 debian/6.8
Ian Jackson [Mon, 20 Aug 2018 13:52:22 +0000 (14:52 +0100)]
test suite: Fix dependencies of new gdr-merge-conflicts test.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agochangelog: start 6.8
Ian Jackson [Mon, 20 Aug 2018 01:35:08 +0000 (02:35 +0100)]
changelog: start 6.8

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agochangelog: Finalise 6.7 archive/debian/6.7 debian/6.7
Ian Jackson [Mon, 20 Aug 2018 01:30:17 +0000 (02:30 +0100)]
changelog: Finalise 6.7

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 months agochangelog: Reorganise and tidy up the current entry
Ian Jackson [Mon, 20 Aug 2018 01:08:12 +0000 (02:08 +0100)]
changelog: Reorganise and tidy up the current entry

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>