chiark / gitweb /
dgit.git
15 months agotest suite: gdr-convert-gbp: drop --overwrite
Ian Jackson [Sun, 8 Jul 2018 17:37:56 +0000 (18:37 +0100)]
test suite: gdr-convert-gbp: drop --overwrite

With #903132 properly fixed, this is no longer needed.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase convert-from-gbp: Add ffq check
Ian Jackson [Sun, 8 Jul 2018 19:05:26 +0000 (20:05 +0100)]
git-debrebase convert-from-gbp: Add ffq check

Check that the result will not count as having diverged.  This will
usually turn failures to make the ff pseudomerge into -fdiverged.

Related to #903132.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase convert-from-gbp: Make it ff of dgit view, if we can.
Ian Jackson [Sun, 8 Jul 2018 17:37:34 +0000 (18:37 +0100)]
git-debrebase convert-from-gbp: Make it ff of dgit view, if we can.

Look for dgit-generated tags so we can usually make the new branch ff
of the dgit view.

Specifically, we fish the most recent released version out of
debian/changelog and look for a DISTRO/VSN tag and a corresponding
archive/DISTRO/VSN tag.  If this all looks good, we declare ff of
archive/.

This should avoid the need for dgit push --overwrite in most cases.

We do not check the DISTRO name.  In principle dgit could find the
distro name from the suite name, but that makes the software layering
quite complicated.  (For example, we would have to provide a way to
tell gdr what program to run for dgit, for the benefit of the test
suite.)  I think the current approach is good enough; there are not
likely to be any tag pairs that look like the right kind of thing but
are in fact something else entirely, so we're not likely to
accidentally trash some wanted changes.

Closes:#903132.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase: Set $|
Ian Jackson [Sun, 8 Jul 2018 22:57:01 +0000 (23:57 +0100)]
git-debrebase: Set $|

This will avoid pepeering everything with calls to flush.  Without it
some messages from ffq_check, say, can arrive after the stderr output
from a subsequent snags_maybe_bail, which is quite confusing.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase: Provide snags_maybe_bail_early
Ian Jackson [Sun, 8 Jul 2018 18:43:06 +0000 (19:43 +0100)]
git-debrebase: Provide snags_maybe_bail_early

No callers yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase: Replace `die badusage' with `badusage'.
Ian Jackson [Sun, 8 Jul 2018 18:42:08 +0000 (19:42 +0100)]
git-debrebase: Replace `die badusage' with `badusage'.

badusage contains a call to finish.  So the die is redundant and never
gets called.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase: ffq_check: Move defaults for $ff and $notff into sub
Ian Jackson [Sun, 8 Jul 2018 18:40:35 +0000 (19:40 +0100)]
git-debrebase: ffq_check: Move defaults for $ff and $notff into sub

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agoDgit.pm: Move debinatag_maintview from dgit
Ian Jackson [Sun, 8 Jul 2018 17:32:09 +0000 (18:32 +0100)]
Dgit.pm: Move debinatag_maintview from dgit

git-debrebase is about to want this for convert-from-gbp dgit split
brain fixup.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agoDgit.pm: Break out parsechangelog_loop from dgit
Ian Jackson [Sun, 8 Jul 2018 19:01:50 +0000 (20:01 +0100)]
Dgit.pm: Break out parsechangelog_loop from dgit

git-debrebase is going to want this.

No functional change except to some debugging messages.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agoDgit.pm: Move parsecontrol etc. out of dgit
Ian Jackson [Sun, 8 Jul 2018 18:51:39 +0000 (19:51 +0100)]
Dgit.pm: Move parsecontrol etc. out of dgit

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: Fix a typo in a comment
Ian Jackson [Sun, 8 Jul 2018 16:54:42 +0000 (17:54 +0100)]
dgit: Fix a typo in a comment

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase: Break out ff_check (for reuse by convert-from-gbp)
Ian Jackson [Sat, 7 Jul 2018 21:44:09 +0000 (22:44 +0100)]
git-debrebase: Break out ff_check (for reuse by convert-from-gbp)

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase: record_ffq_prev_deferred: Move get_head();
Ian Jackson [Sat, 7 Jul 2018 21:27:42 +0000 (22:27 +0100)]
git-debrebase: record_ffq_prev_deferred: Move get_head();

No functional change.  This will make ff check easier to split out.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: start 5.9
Ian Jackson [Sun, 8 Jul 2018 10:44:27 +0000 (11:44 +0100)]
changelog: start 5.9

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: finalise 5.8 archive/debian/5.8 debian/5.8
Ian Jackson [Sun, 8 Jul 2018 10:42:53 +0000 (11:42 +0100)]
changelog: finalise 5.8

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase: Improve grammar if one blocking snag.
Ian Jackson [Fri, 6 Jul 2018 23:50:17 +0000 (00:50 +0100)]
git-debrebase: Improve grammar if one blocking snag.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: gdr-newupstream: Test adding revision
Ian Jackson [Fri, 6 Jul 2018 23:31:09 +0000 (00:31 +0100)]
test suite: gdr-newupstream: Test adding revision

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase new-upstream: Add a -1 revision if the user didn't supply one.
Ian Jackson [Fri, 6 Jul 2018 23:41:56 +0000 (00:41 +0100)]
git-debrebase new-upstream: Add a -1 revision if the user didn't supply one.

Closes:#903127.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase: status: Reorganise commit reporting.
Ian Jackson [Fri, 6 Jul 2018 23:15:46 +0000 (00:15 +0100)]
git-debrebase: status: Reorganise commit reporting.

Replace the references to @_ with a hash.  Using a hash is much less
confusing than all this numerical indexing.  Also, \@_ is wrong
because there is only one @_, so by the time it is dereference, the
commit being printed is the anchor.

This is why in #903131 we see

      branch is unlaundered
      found mixed upstream/packaging commit (7badba627162337c7057002f37e9a1a593d07d08)
        abcc6260 Update to upstream 2.9.7

which appears to sugggest that the anchor is a mixed commit.  Actually
the mixed commit is 7badba627162 but the subsequent message is based
on @_ which has different information in it by then.

And, set $kcmsg from the main message, not including the commit
information.  We are the more sophisticated caller mentioned in the
previous commmit.

Closes: #903131.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase: keycommits: Callbacks get separate $mainwhy
Ian Jackson [Fri, 6 Jul 2018 23:13:02 +0000 (00:13 +0100)]
git-debrebase: keycommits: Callbacks get separate $mainwhy

Separate out the extra contextual info, naming the hash of the commit
being complained about, into a separate argument to $x->().  This
allows us to pass the message without that as an additional argument
to the callbacks.

This way we can still pass \&snag as a callback but other callers can
do something more sophisticated involving $cl.

No functional change for any existing callers.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: makepatches7: Add a nasty .gitignore
Ian Jackson [Fri, 6 Jul 2018 20:14:05 +0000 (21:14 +0100)]
test suite: makepatches7: Add a nasty .gitignore

Prior to the fix for #903130 this prevents both dgit and gdr from
making patches properly.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit, git-debrebase: Properly make patches with nasty .gitignores.
Ian Jackson [Fri, 6 Jul 2018 20:17:18 +0000 (21:17 +0100)]
dgit, git-debrebase: Properly make patches with nasty .gitignores.

Specifically:

 * When running git status --porcelain, pass --ignored so it
   lists ignored files, and handle the ! output that it then
   produces.

 * Add missing -f to a few git add invocations.

I have done some greps ('git.*add', 'git.*status', 'porcelain', etc.)
to try to find other missed cases and none turned up.

git diff is OK because normally we pass two treeish arguments, in
which case the ignores are ignored by git diff.  When we are asking it
to look at the working tree, we are expecting it to ignore untracked
files (whether ignored or not), and diff tracked ones, which is what
it does.

Closes:#903130.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: Document dgit(1) build unscrambling
Ian Jackson [Fri, 6 Jul 2018 17:44:18 +0000 (18:44 +0100)]
changelog: Document dgit(1) build unscrambling

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
squash! changelog: Document manpage fix

15 months agodgit(1): Unscramble push and push-source descriptions
Sean Whitton [Fri, 6 Jul 2018 10:59:59 +0000 (11:59 +0100)]
dgit(1): Unscramble push and push-source descriptions

These got mixed up in a recent commit.

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
15 months agochangelog: start 5.8
Ian Jackson [Thu, 5 Jul 2018 14:04:21 +0000 (15:04 +0100)]
changelog: start 5.8

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: finalise 5.7 archive/debian/5.7 debian/5.7
Ian Jackson [Thu, 5 Jul 2018 14:02:31 +0000 (15:02 +0100)]
changelog: finalise 5.7

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: sourceonlypolicy: New test
Ian Jackson [Thu, 5 Jul 2018 00:27:09 +0000 (01:27 +0100)]
test suite: sourceonlypolicy: New test

Test the fix for #801435.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: Check that entirely-new uploads to Debian are not source-only-uploads.
Ian Jackson [Sun, 1 Jul 2018 10:08:21 +0000 (11:08 +0100)]
dgit: Check that entirely-new uploads to Debian are not source-only-uploads.

Avoids the user pushing things that will inevitably be REJECTed.

We end up introducing some new config and force options to support
this.

We do not reuse test_source_only_changes, as it doesn't have quite the
right shape (in particular, it sometimes blithers on stdout).  Also
arguably it is better to look, specifically, for .debs, for the
purpose of this test.

This requires a new archive protocol method.  We implement it for
ftpmasterapi (where it is actualliy needed) and dummycatapi (where we
need it for tests.)  Implementing it for madisonish methods would be
easy.  For aptget, it would probably involve iterating over suites,
and not be adviseable.

Closes:#801435.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: Test dput-ng compatibility.
Ian Jackson [Thu, 5 Jul 2018 00:08:03 +0000 (01:08 +0100)]
test suite: Test dput-ng compatibility.

Add dput-ng as a dependency to trustingpolicy-replay.

This is the test which went wrong with dput-ng before.  It also has a
number of pushes, so it will do.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: Fix trustingpolicy-replay & dput-ng.
Ian Jackson [Thu, 5 Jul 2018 00:06:26 +0000 (01:06 +0100)]
test suite: Fix trustingpolicy-replay & dput-ng.

Specifically:

 * Only dput-ng actually complains about the existence of .upload
   files.  dput itself just says there is nothing to do and calls that
   success.

 * The call to t-rm-dput-dropping was in the wrong place.  t-commit
   bumps the version to 1.1 but it's 1.0 that needs removing.

Closes:#903007.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: checkout: Check we end up on the right branch each time
Ian Jackson [Wed, 4 Jul 2018 23:56:36 +0000 (00:56 +0100)]
test suite: checkout: Check we end up on the right branch each time

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: checkout: Do not leave detached HEAD!
Ian Jackson [Wed, 4 Jul 2018 23:56:04 +0000 (00:56 +0100)]
dgit: checkout: Do not leave detached HEAD!

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: Always pass LC_COLLATE=C to sort(1).
Ian Jackson [Wed, 4 Jul 2018 23:15:44 +0000 (00:15 +0100)]
test suite: Always pass LC_COLLATE=C to sort(1).

Specifically, by replacing every invocation of sort with the new
function t-sort.  The one case where we already took care of this, we
change LC_ALL to LC_COLLATE, which should be sufficient.

Closes:#903006.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit(7): Mention git-debrebase and gbp pq alongside git-dpm
Ian Jackson [Wed, 4 Jul 2018 01:19:05 +0000 (02:19 +0100)]
dgit(7): Mention git-debrebase and gbp pq alongside git-dpm

in the comment about handling patch stacks.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: checkout: new test
Ian Jackson [Wed, 4 Jul 2018 00:54:13 +0000 (01:54 +0100)]
test suite: checkout: new test

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit(1): checkout: Document when this acceses the network
Ian Jackson [Wed, 4 Jul 2018 00:27:42 +0000 (01:27 +0100)]
dgit(1): checkout: Document when this acceses the network

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: checkout: New command.
Ian Jackson [Sun, 1 Jul 2018 11:41:40 +0000 (12:41 +0100)]
dgit: checkout: New command.

Closes:#878443.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: fetch: Introduce new dofetch()
Ian Jackson [Wed, 4 Jul 2018 00:21:43 +0000 (01:21 +0100)]
dgit: fetch: Introduce new dofetch()

This actually does all that is needed.  It replaces two now-identical
calling patterns.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: fetch: Reorganise cmd_fetch
Ian Jackson [Wed, 4 Jul 2018 00:18:25 +0000 (01:18 +0100)]
dgit: fetch: Reorganise cmd_fetch

This slightly odd construction is actually how the return value from
fork_for_multisuite should be handled.  It now looks much more like
the calling pattern in pull().

No functional change: if $multi_fetched is falseish, we call
fetch_one, and then, no matter what, we finish 0.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: fetch: Slightly refactor pull()
Ian Jackson [Wed, 4 Jul 2018 00:16:19 +0000 (01:16 +0100)]
dgit: fetch: Slightly refactor pull()

When for_for_multisuite returns '0', meaning we are a child and should
do one suite, use finish 0 rather than returning, after doing the
fetch.

This has no functional change because the one call site is at the end
of cmd_pull, after which we finish 0 anyway.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: fetch: Rename fetch_one from fetch (nfc)
Ian Jackson [Wed, 4 Jul 2018 00:12:52 +0000 (01:12 +0100)]
dgit: fetch: Rename fetch_one from fetch (nfc)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit(1): Document as-yet-unwritten `dgit checkout'
Ian Jackson [Sun, 1 Jul 2018 11:00:07 +0000 (12:00 +0100)]
dgit(1): Document as-yet-unwritten `dgit checkout'

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: update-vcs-git: Honour --package properly.
Ian Jackson [Sun, 1 Jul 2018 11:20:50 +0000 (12:20 +0100)]
dgit: update-vcs-git: Honour --package properly.

Specifically, use package_from_d_control rather than open-coding
a substandard implementation.

The consequent abolition of $sourcep does mean that if the user
specifies the suite `.', and does not specify -p, we needlessly parse
debian/control twice.  This doesn't really matter.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: Break out package_from_d_control (nfc)
Ian Jackson [Sun, 1 Jul 2018 11:18:22 +0000 (12:18 +0100)]
dgit: Break out package_from_d_control (nfc)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: start 5.7
Ian Jackson [Sat, 30 Jun 2018 23:43:27 +0000 (00:43 +0100)]
changelog: start 5.7

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: finalise 5.6 archive/debian/5.6 debian/5.6
Ian Jackson [Sat, 30 Jun 2018 23:41:46 +0000 (00:41 +0100)]
changelog: finalise 5.6

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: Document empirical effectiveness of new gnupg workaround
Ian Jackson [Sat, 30 Jun 2018 22:58:56 +0000 (23:58 +0100)]
changelog: Document empirical effectiveness of new gnupg workaround

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: manpages-format: Test -Tps too
Ian Jackson [Thu, 28 Jun 2018 14:53:42 +0000 (15:53 +0100)]
test suite: manpages-format: Test -Tps too

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: manpages-format: work properly when no expected warnings
Ian Jackson [Thu, 28 Jun 2018 14:53:28 +0000 (15:53 +0100)]
test suite: manpages-format: work properly when no expected warnings

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: manpages-format: Remove some pointless redirects
Ian Jackson [Thu, 28 Jun 2018 14:52:42 +0000 (15:52 +0100)]
test suite: manpages-format: Remove some pointless redirects

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: manpages-format: Prep for other formats (nfc)
Ian Jackson [Thu, 28 Jun 2018 14:46:06 +0000 (15:46 +0100)]
test suite: manpages-format: Prep for other formats (nfc)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: manpages-format: New test
Ian Jackson [Thu, 28 Jun 2018 14:31:56 +0000 (15:31 +0100)]
test suite: manpages-format: New test

Test that manpages format with only expected roff warnings.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agoMerge remote-tracking branch 'dgit/dgit/experimental'
Ian Jackson [Sat, 30 Jun 2018 21:40:02 +0000 (22:40 +0100)]
Merge remote-tracking branch 'dgit/dgit/experimental'

Conflicts:
debian/changelog

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: gpg agent workaround: Fix bugs in log neatening. archive/debian/5.5+exp9 debian/5.5+exp9
Ian Jackson [Sat, 30 Jun 2018 18:03:10 +0000 (19:03 +0100)]
test suite: gpg agent workaround: Fix bugs in log neatening.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: gpg agent workaround: Neaten the logging. archive/debian/5.5+exp8 debian/5.5+exp8
Ian Jackson [Sat, 30 Jun 2018 09:21:32 +0000 (10:21 +0100)]
test suite: gpg agent workaround: Neaten the logging.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: Provide DGIT_TEST_BYHAND if appropriate
Ian Jackson [Sat, 30 Jun 2018 09:20:57 +0000 (10:20 +0100)]
test suite: Provide DGIT_TEST_BYHAND if appropriate

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: gnupg workaround: Remove a sprurious $tmp
Ian Jackson [Sat, 30 Jun 2018 08:55:26 +0000 (09:55 +0100)]
test suite: gnupg workaround: Remove a sprurious $tmp

This is not set here, which is just as well because it would have been
quite wrong.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: gpg-agent workaround: Send ps output to stderr (oops) archive/debian/5.5+exp7 debian/5.5+exp7
Ian Jackson [Fri, 29 Jun 2018 16:05:06 +0000 (17:05 +0100)]
test suite: gpg-agent workaround: Send ps output to stderr (oops)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: gpg-agent workaround: Cope if ps not found. archive/debian/5.5+exp6 debian/5.5+exp6
Ian Jackson [Fri, 29 Jun 2018 12:02:36 +0000 (13:02 +0100)]
test suite: gpg-agent workaround: Cope if ps not found.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: finalise 5.5+exp5 archive/debian/5.5+exp5 debian/5.5+exp5
Ian Jackson [Fri, 29 Jun 2018 11:22:36 +0000 (12:22 +0100)]
changelog: finalise 5.5+exp5

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: gpg-agent workaround: Kill unexpected leftover agents.
Ian Jackson [Fri, 29 Jun 2018 11:13:59 +0000 (12:13 +0100)]
test suite: gpg-agent workaround: Kill unexpected leftover agents.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: gpg-agent workaround: Add more debugging output.
Ian Jackson [Fri, 29 Jun 2018 11:11:56 +0000 (12:11 +0100)]
test suite: gpg-agent workaround: Add more debugging output.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: Add bc to appropriate test Depends. archive/debian/5.5+exp4 debian/5.5+exp4
Ian Jackson [Thu, 28 Jun 2018 23:49:47 +0000 (00:49 +0100)]
test suite: Add bc to appropriate test Depends.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: 5.5+exp3 to placate version checking archive/debian/5.5+exp3 debian/5.5+exp3
Ian Jackson [Thu, 28 Jun 2018 15:31:55 +0000 (16:31 +0100)]
changelog: 5.5+exp3 to placate version checking

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agoMerge remote-tracking branch 'dgit/dgit/sid' into experimental archive/debian/5.5+exp2 debian/5.5+exp2
Ian Jackson [Thu, 28 Jun 2018 15:02:23 +0000 (16:02 +0100)]
Merge remote-tracking branch 'dgit/dgit/sid' into experimental

15 months agochangelog: start 5.6
Ian Jackson [Thu, 28 Jun 2018 12:27:06 +0000 (13:27 +0100)]
changelog: start 5.6

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: finalise 5.5 archive/debian/5.5 debian/5.5
Ian Jackson [Thu, 28 Jun 2018 12:25:35 +0000 (13:25 +0100)]
changelog: finalise 5.5

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit(1): Fix a wrong reference to \fp, which should be \fP.
Ian Jackson [Thu, 28 Jun 2018 12:20:11 +0000 (13:20 +0100)]
dgit(1): Fix a wrong reference to \fp, which should be \fP.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodebian/control: Add missing comma
Ian Jackson [Thu, 28 Jun 2018 12:19:27 +0000 (13:19 +0100)]
debian/control: Add missing comma

Closes:#902578.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agoNew gnupg agent thing
Ian Jackson [Wed, 27 Jun 2018 22:44:15 +0000 (23:44 +0100)]
New gnupg agent thing

before (5.3)

1044.27user 126.77system 6:26.89elapsed 302%CPU (0avgtext+0avgdata 402420maxresident)k
1778718inputs+5123720outputs (2370major+57693524minor)pagefaults 0swaps

after (5.3 + these changes)

1072.81user 131.38system 6:25.02elapsed 312%CPU (0avgtext+0avgdata 402448maxresident)k
1777558inputs+5124952outputs (2370major+59176578minor)pagefaults 0swaps

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agoNo-change upload, for testing. archive/debian/5.4+exp1 debian/5.4+exp1
Ian Jackson [Wed, 27 Jun 2018 23:45:01 +0000 (00:45 +0100)]
No-change upload, for testing.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agoMerge remote-tracking branch 'dgit/dgit/experimental' into HEAD
Ian Jackson [Wed, 27 Jun 2018 23:44:12 +0000 (00:44 +0100)]
Merge remote-tracking branch 'dgit/dgit/experimental' into HEAD

-s ours

15 months agochangelog: start 5.5
Ian Jackson [Wed, 27 Jun 2018 23:08:03 +0000 (00:08 +0100)]
changelog: start 5.5

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: finalise 5.4 archive/debian/5.4 debian/5.4
Ian Jackson [Wed, 27 Jun 2018 22:13:58 +0000 (23:13 +0100)]
changelog: finalise 5.4

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agoNo-change upload, for testing. archive/debian/5.3+exp1 debian/5.3+exp1
Ian Jackson [Wed, 27 Jun 2018 22:11:36 +0000 (23:11 +0100)]
No-change upload, for testing.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: gdr-viagit, gdr-newupstream: do not auto-import t-setup-gnupg.
Ian Jackson [Wed, 27 Jun 2018 20:41:38 +0000 (21:41 +0100)]
test suite: gdr-viagit, gdr-newupstream: do not auto-import t-setup-gnupg.

We provide a new mechanism for individual tests to disable the
automatic t-setup-import of gnupg.

We need to add this to all the other setup/ that these import, too.
gdr-convert-gbp is particularly awkward because it wants gnupg if
$ifarchive isn't `:'.  There we arrange to suppress its automatic
inclusion, but add it again by hand if appropriate.

This fixes these two tests in chroots without gnupg.

Closes:#902559.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit(1): Better description of --overwrite.
Ian Jackson [Wed, 27 Jun 2018 17:22:35 +0000 (18:22 +0100)]
dgit(1): Better description of --overwrite.

In particular, be clear that --overwrite (without previous-version) is
quite a weak promise: that the version you are uploading contains
everything in your changelog.  It won't overwrite willy-nilly.

Somewhat apropos of discussion in #902534.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: Fix bug ref to #865444 in previous changelog entry.
Ian Jackson [Wed, 27 Jun 2018 13:09:28 +0000 (14:09 +0100)]
changelog: Fix bug ref to #865444 in previous changelog entry.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: start 5.4
Ian Jackson [Wed, 27 Jun 2018 13:03:26 +0000 (14:03 +0100)]
changelog: start 5.4

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: finalise 5.3 archive/debian/5.3 debian/5.3
Ian Jackson [Wed, 27 Jun 2018 13:00:46 +0000 (14:00 +0100)]
changelog: finalise 5.3

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit(7): Add discussion of quilt fixup error messages
Ian Jackson [Wed, 27 Jun 2018 12:29:04 +0000 (13:29 +0100)]
dgit(7): Add discussion of quilt fixup error messages

And add cross-references to dgit(1) and the actual error.
Somewhat apropos of #842614.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: Better message formatting when --overwrite may be needed
Ian Jackson [Wed, 27 Jun 2018 00:26:49 +0000 (01:26 +0100)]
dgit: Better message formatting when --overwrite may be needed

Closes:891031.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: --overwrite test: Be more tolerant of exact message
Ian Jackson [Wed, 27 Jun 2018 00:25:31 +0000 (01:25 +0100)]
test suite: --overwrite test: Be more tolerant of exact message

We're about to change this, apropos of #891031.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit(1): Mention in --overwrite that it is usually needed for first dgit push
Ian Jackson [Wed, 27 Jun 2018 00:06:00 +0000 (01:06 +0100)]
dgit(1): Mention in --overwrite that it is usually needed for first dgit push

This is part of #891031.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: Test ill-advised repeat dgit push after git push fails
Ian Jackson [Tue, 26 Jun 2018 20:55:37 +0000 (21:55 +0100)]
test suite: Test ill-advised repeat dgit push after git push fails

This demonstrates #869146, which is about dgit repeatedly adding the
same .orig to the .changes.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: Do not introduce duplicate origs in .changes files
Ian Jackson [Tue, 26 Jun 2018 23:16:29 +0000 (00:16 +0100)]
dgit: Do not introduce duplicate origs in .changes files

The .dsc and .changes matching code contained roughly
   $fieldbody =~ / \Q$item\E\n/m
but this is wrong when the $fieldbody matches $item in its last line,
and there is no trailing newline (as would be usual).  This code
is obviouslu confused because m affects only ^ $ which don't appear
in the regexp.  Change these to / \Q$item\E$/m which is what ought
to have been, and probably was, intended.

In one case we are trying to delete a line.  In that case we need to
remove the leading newline.  The field body always starts with a
newline so the use of \n rather than ^ is fine.

Closes:#869146.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: Test GIT_REFLOG_ACTION setting by git-debrebase
Ian Jackson [Tue, 26 Jun 2018 17:44:55 +0000 (18:44 +0100)]
test suite: Test GIT_REFLOG_ACTION setting by git-debrebase

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agogit-debrebase new-upstream: Provide better reflog entries
Ian Jackson [Tue, 26 Jun 2018 17:43:49 +0000 (18:43 +0100)]
git-debrebase new-upstream: Provide better reflog entries

By setting GIT_REFLOG_ACTION.

Closes:#901925.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agoref updates: Break out git_reflog_action_msg
Ian Jackson [Tue, 26 Jun 2018 17:33:45 +0000 (18:33 +0100)]
ref updates: Break out git_reflog_action_msg

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agoref updates: Honour GIT_REFLOG_ACTION everywhere.
Ian Jackson [Tue, 26 Jun 2018 17:30:24 +0000 (18:30 +0100)]
ref updates: Honour GIT_REFLOG_ACTION everywhere.

Specifically, every time we call git_update_ref_cmd.

Closes:#901935.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agoref updates: Introduce update_ref_cmd
Ian Jackson [Tue, 26 Jun 2018 17:25:13 +0000 (18:25 +0100)]
ref updates: Introduce update_ref_cmd

Currently the comment about `message may be modified' is rather
misleading, since there is no code to do that - but it explains the
semantics of the new function.

We change the appropriate subset of the git update-ref call sites.
These are precisely the ones where we previously specified a message
with -m, except for the quilt cache (where we use the reflog message
as the cache lookup key).

The calls are updates of internal refs etc.

We end up using qw(git) rather than @git.
Otherwise no functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: start 5.3~
Ian Jackson [Sun, 24 Jun 2018 22:37:26 +0000 (23:37 +0100)]
changelog: start 5.3~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agochangelog: finalise 5.2 archive/debian/5.2 debian/5.2
Ian Jackson [Sun, 24 Jun 2018 22:33:52 +0000 (23:33 +0100)]
changelog: finalise 5.2

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: dgit/gdr interop: test make-patches exiting 7
Ian Jackson [Fri, 22 Jun 2018 16:36:08 +0000 (17:36 +0100)]
test suite: dgit/gdr interop: test make-patches exiting 7

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agotest suite: lib-gdr: t-some-changes: Honour $2 `dum'
Ian Jackson [Fri, 22 Jun 2018 16:34:50 +0000 (17:34 +0100)]
test suite: lib-gdr: t-some-changes: Honour $2 `dum'

This allows for less thorough but faster test cases.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: git-debrebase interop: Actually tolerate git-debrebase status 7
Ian Jackson [Fri, 22 Jun 2018 15:48:21 +0000 (16:48 +0100)]
dgit: git-debrebase interop: Actually tolerate git-debrebase status 7

make-patches exiting with status 7 causes $?==7*256, not 7.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: git-debrebase interop: Add a missing debugcmd debugging print.
Ian Jackson [Fri, 22 Jun 2018 15:48:05 +0000 (16:48 +0100)]
dgit: git-debrebase interop: Add a missing debugcmd debugging print.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: warn if vcs-git seems out of date
Ian Jackson [Thu, 21 Jun 2018 13:11:10 +0000 (14:11 +0100)]
dgit: warn if vcs-git seems out of date

Print a warning to stderr on `dgit fetch sid', if your vcs-git remote
url disagrees with what's in sid's .dsc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit: Provide `update-vcs-git' subcommand
Ian Jackson [Thu, 21 Jun 2018 13:05:26 +0000 (14:05 +0100)]
dgit: Provide `update-vcs-git' subcommand

This is for creating and adjusting the vcs-git remote url.  Useful for
transition from alioth to salsa.  Closes:#902006.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
15 months agodgit-user(7): Suggest sbuild-debian-developer-setup(1)
Sean Whitton [Thu, 21 Jun 2018 12:27:41 +0000 (13:27 +0100)]
dgit-user(7): Suggest sbuild-debian-developer-setup(1)

This will only create the chroot for building packages for the
machine's architecture, because sbuild-debian-developer-setup(1) does
not have an --architecture option, so sbuild-createchroot(1) will be
needed too, hence the 'and'.

The nice thing about sbuild-debian-developer-setup(1) is that does
fiddly things that a non-expert might forget about, like adding the
current user to the sbuild group.  So it is still worth recommending
even though it does not have an --architecture option.

Closes:#895779.

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>