chiark / gitweb /
dgit.git
7 years agobuild modes handling: Check for stray .changes on all split brain build entries
Ian Jackson [Tue, 25 Oct 2016 15:58:37 +0000 (16:58 +0100)]
build modes handling: Check for stray .changes on all split brain build entries

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agobuild changes handling: Break out midbuild_checkchanges
Ian Jackson [Tue, 25 Oct 2016 15:58:12 +0000 (16:58 +0100)]
build changes handling: Break out midbuild_checkchanges

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: build-mode-*: Check that right .changes comes out.
Ian Jackson [Tue, 25 Oct 2016 15:04:19 +0000 (16:04 +0100)]
Test suite: build-mode-*: Check that right .changes comes out.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agobuild changes handling: Run mergechanges when needed in non-sbuild build modes
Ian Jackson [Tue, 25 Oct 2016 15:00:50 +0000 (16:00 +0100)]
build changes handling: Run mergechanges when needed in non-sbuild build modes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agobuild changes handling: Introduce postbuild_mergechanges
Ian Jackson [Tue, 25 Oct 2016 14:05:44 +0000 (15:05 +0100)]
build changes handling: Introduce postbuild_mergechanges

Affects only the `sbuild' subcommand.

Mostly code motion.

Other changes include:
 * Provide in_parent, and use it.
 * "sbuild" changed to "build" in the msg_if_onlyone failure message
 * Unapply patches before merging changelogs
 * Reorganise so that it is possible to use this code when there
   is only one output changes file.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: bm-*: turn bm-report-source into bm-report-test
Ian Jackson [Tue, 25 Oct 2016 12:44:10 +0000 (13:44 +0100)]
Test suite: bm-*: turn bm-report-source into bm-report-test

No overall functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoabsurd git-apply fallback: defend against debian/patches/series being an unusual...
Ian Jackson [Tue, 25 Oct 2016 12:05:57 +0000 (13:05 +0100)]
absurd git-apply fallback: defend against debian/patches/series being an unusual object, in case dpkg-source doesn't.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Start 2.8~
Ian Jackson [Mon, 24 Oct 2016 01:41:47 +0000 (02:41 +0100)]
changelog: Start 2.8~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Finalise 2.7 archive/debian/2.7
Ian Jackson [Mon, 24 Oct 2016 01:37:48 +0000 (02:37 +0100)]
changelog: Finalise 2.7

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Provide absurd-gitapply test
Ian Jackson [Mon, 24 Oct 2016 01:04:52 +0000 (02:04 +0100)]
Test suite: Provide absurd-gitapply test

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoImport: Allow --force to enable/disable
Ian Jackson [Mon, 24 Oct 2016 01:02:07 +0000 (02:02 +0100)]
Import: Allow --force to enable/disable

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoIgnore unknown force options (with a warning)
Ian Jackson [Sun, 23 Oct 2016 15:56:20 +0000 (16:56 +0100)]
Ignore unknown force options (with a warning)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoProvide --force-dsc-changes-mismatch
Ian Jackson [Sun, 23 Oct 2016 15:55:41 +0000 (16:55 +0100)]
Provide --force-dsc-changes-mismatch

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoProvide --force-unsupported-source-format
Ian Jackson [Sun, 23 Oct 2016 15:47:29 +0000 (16:47 +0100)]
Provide --force-unsupported-source-format

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoImport: Docuemnt absurdity in changelog
Ian Jackson [Mon, 24 Oct 2016 00:25:51 +0000 (01:25 +0100)]
Import: Docuemnt absurdity in changelog

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoImport: Use absurd `git apply' emulation if gbp pq import fails
Ian Jackson [Mon, 24 Oct 2016 00:06:29 +0000 (01:06 +0100)]
Import: Use absurd `git apply' emulation if gbp pq import fails

gbp import can fail due to git apply not understanding patches.
This is #841867 (against dgit).

The underlying problem is #841866 (in gbp pq) which exposes things
like #841865 and #829067 (in git).  I imagine there are other lurking
incompatibilities between git-apply and dpkg-source.

We could in principle reimplement the gbp patch metadata extraction.
But that would be quite tiresome and have its own compatibility
problems.

The real problem is just `git apply'.  (Indeed gbp already tries git
apply without, and then with, a whitespace fix option.)  We work
around the trouble by providing our own implementation of `git apply'.

Specifically:

We try to do things the sane way (just running gbp pq import) first.
If that works, great.  If it doesn't, we put /usr/share/dgit/absurd on
the PATH.  That contains only a sh script called `git'.  This sh
script figures out whether the caller is trying to invoke `git apply'.
If not, it runs the real git.

If the caller wanted git-apply, the absurd git script emulates it
using dpkg-source --before-build.  Conveniently, we know that the
series file will not be touched by patches.  So we can write just the
patch we care about into the series file, and run --before-build,
which applies just that one patch.

The results are committed (minus the .pc), and for the next patch,
dpkg-source sees again a tree with simply a single patch to apply.

We try ordinary gbp pq first because our absurd approach is very slow
on a big tree.  Also we would like to maximise our chances of the
import working.  If git and/or gbp ever work better by themselves, all
of this craziness will simply not happen.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoBuild system substitutions, for absurdities
Ian Jackson [Mon, 24 Oct 2016 00:04:22 +0000 (01:04 +0100)]
Build system substitutions, for absurdities

* Introduce absurddir, which is where the absurdities will go
* Substitute the absurddir into the dgit script during make all
* Install the substituted scripts rather than the originals in make install
* Provide a default in dgit, based on $0
* Clean the substitutions up in make clean

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoDgit.pm: Break out failedcmd_waitstatus
Ian Jackson [Mon, 24 Oct 2016 00:01:58 +0000 (01:01 +0100)]
Dgit.pm: Break out failedcmd_waitstatus

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoProvide --force-unrepresentable.
Ian Jackson [Sun, 16 Oct 2016 20:02:38 +0000 (21:02 +0100)]
Provide --force-unrepresentable.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: --force-*: Provide framework
Ian Jackson [Sun, 16 Oct 2016 20:02:03 +0000 (21:02 +0100)]
dgit: --force-*: Provide framework

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit(1): Some more info about --deliberately.
Ian Jackson [Sun, 23 Oct 2016 14:41:00 +0000 (15:41 +0100)]
dgit(1): Some more info about --deliberately.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit(1): Reorder the options, moving more important ones earlier.
Ian Jackson [Sun, 23 Oct 2016 14:38:30 +0000 (15:38 +0100)]
dgit(1): Reorder the options, moving more important ones earlier.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.7~
Ian Jackson [Sun, 23 Oct 2016 14:08:23 +0000 (15:08 +0100)]
changelog: start 2.7~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Finalise 2.6 archive/debian/2.6
Ian Jackson [Sun, 23 Oct 2016 13:57:35 +0000 (14:57 +0100)]
changelog: Finalise 2.6

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: ftpmaster api fetch: Check http error code (!)
Ian Jackson [Wed, 19 Oct 2016 21:55:55 +0000 (22:55 +0100)]
dgit: ftpmaster api fetch: Check http error code (!)

We are going to want to handle 404 specially so do not just use -f.

Handle file:/// specially since curl just always invents 000 for the
http error code in that case.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoDgit.pm: failedcmd_report_cmd: Break out of failedcmd
Ian Jackson [Wed, 19 Oct 2016 21:54:47 +0000 (22:54 +0100)]
Dgit.pm: failedcmd_report_cmd: Break out of failedcmd

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agocurl invocation: archive-api-query subcommand: pass -f to curl
Ian Jackson [Wed, 19 Oct 2016 21:44:28 +0000 (22:44 +0100)]
curl invocation: archive-api-query subcommand: pass -f to curl

This makes it fail properly when it should.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agocurl invocation: Always honour @curl
Ian Jackson [Wed, 19 Oct 2016 21:39:48 +0000 (22:39 +0100)]
curl invocation: Always honour @curl

Use --curl= and --curl: in ftpmaster api queries and in http git
checks.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agocurl invocation: Remove -f from @curl, and add it at the call site
Ian Jackson [Wed, 19 Oct 2016 21:37:34 +0000 (22:37 +0100)]
curl invocation: Remove -f from @curl, and add it at the call site

No significant functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Start 2.6~
Ian Jackson [Sun, 23 Oct 2016 12:29:48 +0000 (13:29 +0100)]
changelog: Start 2.6~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: finalise 2.5 archive/debian/2.5
Ian Jackson [Sun, 23 Oct 2016 12:20:37 +0000 (13:20 +0100)]
changelog: finalise 2.5

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoProvide --gbp and --dpm as aliases for --quilt=gbp and --quilt=dpm.
Ian Jackson [Sun, 23 Oct 2016 12:02:59 +0000 (13:02 +0100)]
Provide --gbp and --dpm as aliases for --quilt=gbp and --quilt=dpm.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Tidy up
Ian Jackson [Sun, 23 Oct 2016 11:58:11 +0000 (12:58 +0100)]
changelog: Tidy up

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agosolit brain: Do not crash in when the two brains are actually identical.
Ian Jackson [Sun, 23 Oct 2016 11:52:19 +0000 (12:52 +0100)]
solit brain: Do not crash in when the two brains are actually identical.

The dgit-view ref is created by quiltify_splitbrain_needed, which is
not always called.  But, quiltify_splitbrain_needed's other function
is to switch branches.  If it was called then HEAD will refer to
dgit-view.  If it wasn't then the original HEAD is fine.

Closes:#841770.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodefault config: Switch to new archive/ tag format
Ian Jackson [Sat, 22 Oct 2016 10:16:36 +0000 (11:16 +0100)]
default config: Switch to new archive/ tag format

Even in non-split-brain mode.
Also change the test suite to expect this.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: overwrite junk: Use $tagpfx where applicable
Ian Jackson [Sat, 22 Oct 2016 16:55:34 +0000 (17:55 +0100)]
Test suite: overwrite junk: Use $tagpfx where applicable

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Introduce setup/gnupg
Ian Jackson [Sat, 22 Oct 2016 15:17:44 +0000 (16:17 +0100)]
Test suite: Introduce setup/gnupg

To work around #841143 and improve performance by amortising gnupg
migration cost.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Propagate tmpbase into nested (setup) runs
Ian Jackson [Sat, 22 Oct 2016 18:44:02 +0000 (19:44 +0100)]
Test suite: Propagate tmpbase into nested (setup) runs

This stops t-setup-import wrongly deciding we are in ADT non-shared
mode.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: setup import: Cope with nested and multiple imports
Ian Jackson [Sat, 22 Oct 2016 18:02:03 +0000 (19:02 +0100)]
Test suite: setup import: Cope with nested and multiple imports

Name the IMPORT file after the setup name.

This is important when running under autopkgtest, where all the setups
share the tmp directory with each other and with the main test.  The
setups need distinct IMPORTS.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-maint-merge(7): Add paragraph split
Ian Jackson [Fri, 21 Oct 2016 22:07:11 +0000 (23:07 +0100)]
dgit-maint-merge(7): Add paragraph split

Suggested-by: Sean Whitton <spwhitton@spwhitton.name>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-maint-merge(7): Move remarks on upstream orig
Sean Whitton [Thu, 20 Oct 2016 02:52:18 +0000 (19:52 -0700)]
dgit-maint-merge(7): Move remarks on upstream orig

See discussion in #840153.

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agodgit-maint-merge(7): Tweak wording
Sean Whitton [Thu, 20 Oct 2016 02:51:58 +0000 (19:51 -0700)]
dgit-maint-merge(7): Tweak wording

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agodebian/changelog: Document dgit-maint-merge(7)
Ian Jackson [Wed, 19 Oct 2016 20:23:04 +0000 (21:23 +0100)]
debian/changelog: Document dgit-maint-merge(7)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-maint-merge(7): Fiercer instructions about legally dangerous git history
Ian Jackson [Wed, 19 Oct 2016 17:29:28 +0000 (18:29 +0100)]
dgit-maint-merge(7): Fiercer instructions about legally dangerous git history

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-maint-merge(7): Fix a typo "upsteram"
Ian Jackson [Wed, 19 Oct 2016 17:29:09 +0000 (18:29 +0100)]
dgit-maint-merge(7): Fix a typo "upsteram"

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-maint-merge(7): Mention what to do if upstream make good tarballs
Ian Jackson [Wed, 19 Oct 2016 17:28:26 +0000 (18:28 +0100)]
dgit-maint-merge(7): Mention what to do if upstream make good tarballs

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoManpages: Add note about other contributors to dgit-maint-merge(7)
Ian Jackson [Wed, 19 Oct 2016 20:15:04 +0000 (21:15 +0100)]
Manpages: Add note about other contributors to dgit-maint-merge(7)

I am going to edit this manpage myself in a moment.  In general we
don't want to have to update the AUTHOR section manually.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoManpage: add dgit-maint-merge(7) to SEE ALSO
Sean Whitton [Wed, 19 Oct 2016 00:36:10 +0000 (17:36 -0700)]
Manpage: add dgit-maint-merge(7) to SEE ALSO

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agodebian/copyright: add myself
Sean Whitton [Wed, 19 Oct 2016 00:22:49 +0000 (17:22 -0700)]
debian/copyright: add myself

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoManpage: add dgit-maint-merge.7.pod
Sean Whitton [Wed, 19 Oct 2016 00:22:49 +0000 (17:22 -0700)]
Manpage: add dgit-maint-merge.7.pod

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoMakefile: build and clean prospective *.7.pod
Sean Whitton [Wed, 19 Oct 2016 00:20:27 +0000 (17:20 -0700)]
Makefile: build and clean prospective *.7.pod

Build the pod section 7 manpages in "make all"; and install them,

There aren't any yet, so this does nothing.

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Start 2.5
Ian Jackson [Thu, 20 Oct 2016 19:06:33 +0000 (20:06 +0100)]
changelog: Start 2.5

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Finalise 2.4 debian/2.4
Ian Jackson [Thu, 20 Oct 2016 15:32:09 +0000 (16:32 +0100)]
changelog: Finalise 2.4

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit(1): Document which --ch: options are a good idea.
Ian Jackson [Wed, 19 Oct 2016 20:40:45 +0000 (21:40 +0100)]
dgit(1): Document which --ch: options are a good idea.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agosplit brain cache: Add a dummy ref update when necessary
Ian Jackson [Thu, 20 Oct 2016 14:55:57 +0000 (15:55 +0100)]
split brain cache: Add a dummy ref update when necessary

git-update-ref does not make a new reflog entry if the ref is not
actually being changed.

This can mean that `dgit build' might fail to find a good cache entry,
but also fail to generate one that push will accept.

In this case, generate a dummy reflog update.  We make a spurious
child of the $dgitview, as that's straightforward.  Giving it the same
tree and a parent means that human use of reflog commands will produce
empty results rather than lots of confusing output.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agosplit brain cache: Use git log -g
Ian Jackson [Thu, 20 Oct 2016 14:55:05 +0000 (15:55 +0100)]
split brain cache: Use git log -g

git-reflog is

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agosplit brain cache: Fix a wrong implicit reference to $_. Closes:#841383.
Ian Jackson [Thu, 20 Oct 2016 14:05:59 +0000 (15:05 +0100)]
split brain cache: Fix a wrong implicit reference to $_. Closes:#841383.

Otherwise we can get:

  Use of uninitialized value $_ in pattern match (m//) at /usr/bin/dgit
  line 4364.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-cache reflog: Make note in comment about --create-reflog
Ian Jackson [Thu, 20 Oct 2016 14:04:28 +0000 (15:04 +0100)]
dgit-cache reflog: Make note in comment about --create-reflog

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit gbp-build: No longer invent a --git-debian-branch option.
Ian Jackson [Tue, 18 Oct 2016 18:01:26 +0000 (19:01 +0100)]
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.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Start 2.4
Ian Jackson [Tue, 18 Oct 2016 17:59:56 +0000 (18:59 +0100)]
changelog: Start 2.4

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Finalise 2.3 debian/2.3
Ian Jackson [Tue, 18 Oct 2016 00:58:16 +0000 (01:58 +0100)]
changelog: Finalise 2.3

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Document fixes to #841101
Ian Jackson [Tue, 18 Oct 2016 00:40:24 +0000 (01:40 +0100)]
changelog: Document fixes to #841101

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: overwrite-splitbrains: New test
Ian Jackson [Tue, 18 Oct 2016 00:35:59 +0000 (01:35 +0100)]
Test suite: overwrite-splitbrains: New test

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agopseudomerge: Suppress checks in split brain mode with --overwrite
Ian Jackson [Tue, 18 Oct 2016 00:33:38 +0000 (01:33 +0100)]
pseudomerge: Suppress checks in split brain mode with --overwrite

If the user has specified an appropriate --overwrite (=VERSION with
the archive's version, or without a version and the archive's version
being in debian/changelog), do not do all the automatic checks.

Instead, in this case, simply make the dgit view be a descendant of
the archive, as instructed.

Closes:#841101.

When generating split brain pseudomerge with --overwrite

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agopseudomerge: When generating pseudomerge in quilt split brain mode due to --overwrite...
Ian Jackson [Tue, 18 Oct 2016 00:33:12 +0000 (01:33 +0100)]
pseudomerge: When generating pseudomerge in quilt split brain mode due to --overwrite, actually include the version number in the commit message.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: t-gbp-example-prep-no-ff: break out from t-gbp-example-prep
Ian Jackson [Tue, 18 Oct 2016 00:02:41 +0000 (01:02 +0100)]
Test suite: t-gbp-example-prep-no-ff: break out from t-gbp-example-prep

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agopseudomerge: Abolish confusing $dgitview variable
Ian Jackson [Mon, 17 Oct 2016 23:56:16 +0000 (00:56 +0100)]
pseudomerge: Abolish confusing $dgitview variable

This seems mostly to have existed to avoid writing `my $cachekey'
separately.  It has no separate function from $dgithead AFAICT.
Abolish it.  No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: ovewrite-junk: New test
Ian Jackson [Mon, 17 Oct 2016 23:47:54 +0000 (00:47 +0100)]
Test suite: ovewrite-junk: New test

Check that we can overwrite things even if the tags are broken.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: ovewrite-version: Add missing "echo ok."
Ian Jackson [Mon, 17 Oct 2016 23:47:40 +0000 (00:47 +0100)]
Test suite: ovewrite-version: Add missing "echo ok."

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agopseudomerge: In non-splitbrain, do not look at previous tags
Ian Jackson [Mon, 17 Oct 2016 23:28:09 +0000 (00:28 +0100)]
pseudomerge: In non-splitbrain, do not look at previous tags

We only want to know: is the current archive version what was
specified in --overwrite=VERSION, or mentioned in the changelog with
--overwrite (without VERSION).  In that case we want to overwrite
whatever it is, even if the tags are missing or broken.

Prompted by #841101.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Start 2.3
Ian Jackson [Mon, 17 Oct 2016 23:27:44 +0000 (00:27 +0100)]
changelog: Start 2.3

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Finalise 2.2 debian/2.2
Ian Jackson [Mon, 17 Oct 2016 16:31:38 +0000 (17:31 +0100)]
changelog: Finalise 2.2

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoDetect SIGPIPE (and SIGCHLD) being blocked or ignored. Closes:#841085.
Ian Jackson [Mon, 17 Oct 2016 16:24:18 +0000 (17:24 +0100)]
Detect SIGPIPE (and SIGCHLD) being blocked or ignored. Closes:#841085.

In fact, it seems in my test that Perl resets SIGCHLD itself, printing
something to stderr, so that trip does not actually fire.  But it
makes sense to keep it.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodebian config; actually make split brain mode work. Closes:#841085.
Ian Jackson [Mon, 17 Oct 2016 15:57:30 +0000 (16:57 +0100)]
debian config; actually make split brain mode work.  Closes:#841085.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Finalise 2.1 archive/debian/2.1
Ian Jackson [Sun, 16 Oct 2016 18:05:34 +0000 (19:05 +0100)]
changelog: Finalise 2.1

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Add test that #840989 is fixed
Ian Jackson [Sun, 16 Oct 2016 17:34:40 +0000 (18:34 +0100)]
Test suite: Add test that #840989 is fixed

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Import handling Do not crash due in clone
Ian Jackson [Sun, 16 Oct 2016 17:32:20 +0000 (18:32 +0100)]
dgit: Import handling Do not crash due in clone

Previously we failed to handle dpkg-parsechangelog SIGPIPE.
Closes:#840989.

Fixes:
  dgit: failed command: dpkg-parsechangelog --format rfc822 --all
  dgit: subprocess died due to fatal signal PIPE

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Filter out .../git-core from PATH so that we catch git-foo
Ian Jackson [Sun, 16 Oct 2016 12:07:59 +0000 (13:07 +0100)]
Test suite: Filter out .../git-core from PATH so that we catch git-foo

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Document git- prefix changes
Ian Jackson [Sun, 16 Oct 2016 11:56:46 +0000 (12:56 +0100)]
changelog: Document git- prefix changes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agogit- prefixes: Test suite: fix tests/tests/quilt
Ian Jackson [Sun, 16 Oct 2016 11:55:08 +0000 (12:55 +0100)]
git- prefixes: Test suite: fix tests/tests/quilt

Broken since 20ee7135bcbb "Test suite: quilt: Test that our patch
makes it through dgit and gbp pq".

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agogit- prefixes: Test suite: Fix t-gbp-example-prep
Ian Jackson [Sun, 16 Oct 2016 11:53:59 +0000 (12:53 +0100)]
git- prefixes: Test suite: Fix t-gbp-example-prep

Broken ever since it was introduced.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agogit- prefixes: Fix dgit-repos-policy-debian
Ian Jackson [Sun, 16 Oct 2016 11:52:32 +0000 (12:52 +0100)]
git- prefixes: Fix dgit-repos-policy-debian

Use `git for-each-ref' instead of `git-for-each-ref'.

Broken in 8a178bf100d4 "Tag change: Update dgit-repos-policy-debian".

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agogit- prefixes: Change `git-foo' to `git foo' in messages
Ian Jackson [Sun, 16 Oct 2016 11:52:01 +0000 (12:52 +0100)]
git- prefixes: Change `git-foo' to `git foo' in messages

No change other that to error messages, debug output, etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agogit- prefixes: Change `git-foo' to `git foo' in docs and comments
Ian Jackson [Sun, 16 Oct 2016 11:51:08 +0000 (12:51 +0100)]
git- prefixes: Change `git-foo' to `git foo' in docs and comments

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.0
Ian Jackson [Sun, 16 Oct 2016 12:10:59 +0000 (13:10 +0100)]
changelog: start 2.0

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Finalise 2.0 archive/debian/2.0
Ian Jackson [Sun, 16 Oct 2016 11:16:14 +0000 (12:16 +0100)]
changelog: Finalise 2.0

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Improve two error messages relating to .changes handling and sbuild
Ian Jackson [Sun, 16 Oct 2016 11:12:04 +0000 (12:12 +0100)]
dgit: Improve two error messages relating to .changes handling and sbuild

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Prepare for 2.0 (~~ right now)
Ian Jackson [Sun, 16 Oct 2016 10:46:12 +0000 (11:46 +0100)]
changelog: Prepare for 2.0 (~~ right now)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Do not fail when git requires --allow-unrelated-histories.
Ian Jackson [Sat, 15 Oct 2016 23:06:37 +0000 (00:06 +0100)]
Test suite: Do not fail when git requires --allow-unrelated-histories.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: stunt parsechangelog: Some commented-out debugging
Ian Jackson [Sat, 15 Oct 2016 20:06:02 +0000 (21:06 +0100)]
Test suite: stunt parsechangelog: Some commented-out debugging

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: tstunt-parsechangelog: Produce Timestamp field
Ian Jackson [Sat, 15 Oct 2016 20:05:07 +0000 (21:05 +0100)]
Test suite: tstunt-parsechangelog: Produce Timestamp field

Like official one does, nowadays.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: unset empty redacted paths
Ian Jackson [Sat, 15 Oct 2016 19:37:24 +0000 (20:37 +0100)]
Test suite: unset empty redacted paths

Some programs might treat that as a path of implicitly ".".

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Fix entirely-broken tstunt PERLLIB arrangements
Ian Jackson [Sat, 15 Oct 2016 19:34:40 +0000 (20:34 +0100)]
Test suite: Fix entirely-broken tstunt PERLLIB arrangements

Specifically:
 * Properly dereference the variable when looking for the stunt
   dir to be there already
 * Do not add "." to the path if the path starts out empty.
 * Crash _with the right message_ in dpkg-parsechangelog if PERLLIB is
   unset.  (PERLLIB mustn't be unset because we're trying to strip
   our own value from it.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: tstunt/dpkg-parsechangelog: Do not complain if PERLLIB is empty.
Ian Jackson [Sat, 15 Oct 2016 18:58:40 +0000 (19:58 +0100)]
Test suite: tstunt/dpkg-parsechangelog: Do not complain if PERLLIB is empty.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Minor tidying-up
Ian Jackson [Sat, 15 Oct 2016 18:55:08 +0000 (19:55 +0100)]
changelog: Minor tidying-up

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodebian/control: Add missing dependency on Text/Iconv.pm
Ian Jackson [Sat, 15 Oct 2016 18:41:11 +0000 (19:41 +0100)]
debian/control: Add missing dependency on Text/Iconv.pm

This was broken by 66a602dbe193 "dgit: When generating patch filenames
from titles, first transliterate them (lossily) to ascii."

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodebian/control: Add missing dependencies to dgit-infrastructure
Ian Jackson [Sat, 15 Oct 2016 18:34:57 +0000 (19:34 +0100)]
debian/control: Add missing dependencies to dgit-infrastructure

Now it doesn't Depend: dgit, it needs its own copies of these two.
I have done  git grep '^use'  and it seems that these are the only
ones that are needed.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodebian/control: Add missing dependency on List::MoreUtils
Ian Jackson [Sat, 15 Oct 2016 18:32:10 +0000 (19:32 +0100)]
debian/control: Add missing dependency on List::MoreUtils

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoInfra: dgit-infrastructure has, and uses, its own copies of the perl modules
Ian Jackson [Sat, 15 Oct 2016 16:50:26 +0000 (17:50 +0100)]
Infra: 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).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoInfra: Introduce Debian::Dgit::Infra
Ian Jackson [Sat, 15 Oct 2016 16:04:33 +0000 (17:04 +0100)]
Infra: Introduce Debian::Dgit::Infra

This is used by all the Perl in dgit-infrastructure.deb.
So far it does nothing, so no functional change.

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