chiark / gitweb /
dgit.git
7 years agodgit-user(7): work in progress
Ian Jackson [Sun, 23 Oct 2016 21:27:00 +0000 (22:27 +0100)]
dgit-user(7): work in progress

Used one of the existing tutorials as a template, so currently
contains many lies (including the AUTHOR).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: orig-include-exclude: Move bulk into a lib-*
Ian Jackson [Sun, 23 Oct 2016 00:39:34 +0000 (01:39 +0100)]
Test suite: orig-include-exclude: Move bulk into a lib-*

We're going to want to re-use it as-is.  Well, modulo the introduction
of $test_push_2_hook.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: orig-include-exclude: Refactor: introduce test-push-[12]
Ian Jackson [Sun, 23 Oct 2016 00:00:42 +0000 (01:00 +0100)]
Test suite: orig-include-exclude: Refactor: introduce test-push-[12]

No functional change (diffed two test logs to check).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: orig-include-exclude: Tests orig auto-inclusion/exclusion
Ian Jackson [Sat, 22 Oct 2016 23:17:16 +0000 (00:17 +0100)]
Test suite: orig-include-exclude: Tests orig auto-inclusion/exclusion

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: t-archive-process-incoming: Process everything
Ian Jackson [Sat, 22 Oct 2016 23:16:01 +0000 (00:16 +0100)]
Test suite: t-archive-process-incoming: Process everything

The previous rune wouldn't process any new .origs.  And in fact there
is no good reason to restrict this.

certainly not right now, because right now we are going to want to
process whatever is in incoming so that the orig-include-exclude test
can easily see what dgit push uploaded.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoAutomatically calculate which .origs are required
Ian Jackson [Sat, 22 Oct 2016 23:09:22 +0000 (00:09 +0100)]
Automatically calculate which .origs are required

* Spot if any of our .origs have different hashes to the archive's
* Update the .changes to have the set of .origs that the archive doesn't

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Switch by default archive access method to dummycatapi
Ian Jackson [Sat, 22 Oct 2016 23:08:16 +0000 (00:08 +0100)]
Test suite: Switch by default archive access method to dummycatapi

Now dgit can, during the test suite, make file_in_archive queries,
without exploding.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodummyapicat: New archive query method
Ian Jackson [Sat, 22 Oct 2016 23:05:07 +0000 (00:05 +0100)]
dummyapicat: New archive query method

Like ftpmasterapi but knows that actually behind the scenes it's just
mostly cat.  Ths is relevant because file_in_archive_dummycatapi has
to be different.

(This is because the test suite can't sensibly predict what queries
dgit might make, because the relevant bits of the test suite don't
actually really know what .origs might be supposed to exist.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSome archive queries: Remove prototypes
Ian Jackson [Sat, 22 Oct 2016 23:03:46 +0000 (00:03 +0100)]
Some archive queries: Remove prototypes

That makes these easier to reuse for another method.  No functional
change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodopush: Break out $changes variable
Ian Jackson [Wed, 19 Oct 2016 23:24:16 +0000 (00:24 +0100)]
dopush: Break out $changes variable

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodopush: Move $upstreamversion setting out to give it wider scope
Ian Jackson [Wed, 19 Oct 2016 23:23:17 +0000 (00:23 +0100)]
dopush: Move $upstreamversion setting out to give it wider scope

No functional change yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years ago@files_csum_info_fields: Provide ftpmaster api database field name
Ian Jackson [Wed, 19 Oct 2016 23:22:09 +0000 (00:22 +0100)]
@files_csum_info_fields: Provide ftpmaster api database field name

No functional change as nothing looks here yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoarchive_query: Provide file_in_archive methods
Ian Jackson [Wed, 19 Oct 2016 23:21:35 +0000 (00:21 +0100)]
archive_query: Provide file_in_archive methods

No functional change as no callers yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoarchive_query: Support further arguments to methods
Ian Jackson [Wed, 19 Oct 2016 23:21:14 +0000 (00:21 +0100)]
archive_query: Support further arguments to methods

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoapi query: Provide ability to tolerate 404
Ian Jackson [Wed, 19 Oct 2016 21:57:09 +0000 (22:57 +0100)]
api query: Provide ability to tolerate 404

This is useful for backward-compatibility with earlier ftpmaster api
versions.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Test --new in split brain mode
Ian Jackson [Sun, 30 Oct 2016 14:34:57 +0000 (14:34 +0000)]
Test suite: Test --new in split brain mode

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSplit brain mode: Fix --new. Closes:#842354.
Ian Jackson [Sun, 30 Oct 2016 14:36:04 +0000 (14:36 +0000)]
Split brain mode: Fix --new.  Closes:#842354.

Test $archive_hash for undef early enough.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.9~
Ian Jackson [Tue, 25 Oct 2016 16:37:22 +0000 (17:37 +0100)]
changelog: start 2.9~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Finalise 2.8 archive/debian/2.8
Ian Jackson [Tue, 25 Oct 2016 16:29:35 +0000 (17:29 +0100)]
changelog: Finalise 2.8

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
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>