chiark / gitweb /
dgit.git
7 years agoDefault config: Switch to new tag format only
Ian Jackson [Thu, 22 Sep 2016 12:29:58 +0000 (13:29 +0100)]
Default config: Switch to new tag format only

There are probably not many users relying on the default config, so
push forward with it for the benefit of new users.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoOvewrite: Honour $overwrite_version in non-split-brain mode
Ian Jackson [Thu, 22 Sep 2016 12:29:10 +0000 (13:29 +0100)]
Ovewrite: Honour $overwrite_version in non-split-brain mode

Currently there is no commnad line option to set this, so there is no
way to exercise this functionality.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoPseudomerge: Break out pseudomerge_version_check and _make_commit
Ian Jackson [Thu, 22 Sep 2016 12:26:46 +0000 (13:26 +0100)]
Pseudomerge: Break out pseudomerge_version_check and _make_commit

We are going to want to reuse these.  It's a bit tangled, but this
seems better than a single pseudomerge_make function with a bunch of
iffery.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSplit brain: Better tag format filtering
Ian Jackson [Thu, 22 Sep 2016 11:59:18 +0000 (12:59 +0100)]
Split brain: Better tag format filtering

The code only makes tag formats `old' and `new'.  Make it easier to
add a new tag format config item entry later.

No functional change with existing configurations.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: infopair tag fetch: Support multiple tags
Ian Jackson [Thu, 22 Sep 2016 11:52:16 +0000 (12:52 +0100)]
dgit: infopair tag fetch: Support multiple tags

No functional change with existing callers.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Break out `infopair' functions
Ian Jackson [Thu, 22 Sep 2016 11:46:23 +0000 (12:46 +0100)]
dgit: Break out `infopair' functions

We are going to want to reuse these in a moment.

No functional change other than to debug output.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSplit brain pseudomerge: Test $overwrite_version for definedness
Ian Jackson [Thu, 22 Sep 2016 11:39:01 +0000 (12:39 +0100)]
Split brain pseudomerge: Test $overwrite_version for definedness

Technically, `0' is a valid version number, but it is falsish.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSplit brain: Only send rpush maint-view param if $maintviewhead
Ian Jackson [Thu, 22 Sep 2016 11:35:32 +0000 (12:35 +0100)]
Split brain: Only send rpush maint-view param if $maintviewhead

Fixes a bug where rpush would always make two tags even for a
non-`3.0 (quilt)' package.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: Have quilt-splitbrains test now
Ian Jackson [Thu, 22 Sep 2016 00:28:24 +0000 (01:28 +0100)]
TODO.BRANCH: Have quilt-splitbrains test now

7 years agoTest suite: quilt-splitbrains: Comment
Ian Jackson [Thu, 22 Sep 2016 00:27:22 +0000 (01:27 +0100)]
Test suite: quilt-splitbrains: Comment

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: quilt-splitbrains: Rename
Ian Jackson [Thu, 22 Sep 2016 00:25:26 +0000 (01:25 +0100)]
Test suite: quilt-splitbrains: Rename

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Test --quilt=unapplied and --quilt=dpm
Ian Jackson [Thu, 22 Sep 2016 00:13:05 +0000 (01:13 +0100)]
Test suite: Test --quilt=unapplied and --quilt=dpm

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: t-gbp-pushed-good: Refactor (nfc)
Ian Jackson [Thu, 22 Sep 2016 00:11:36 +0000 (01:11 +0100)]
Test suite: t-gbp-pushed-good: Refactor (nfc)

Provide various t-splitbrain-*.  These will be needed for tests of
--quilt=unapplied and --quilt=dpm.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Some extra error reports for wrong split brain mode
Ian Jackson [Thu, 22 Sep 2016 00:10:31 +0000 (01:10 +0100)]
dgit: Some extra error reports for wrong split brain mode

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Allow --quilt=dpm
Ian Jackson [Thu, 22 Sep 2016 00:10:10 +0000 (01:10 +0100)]
dgit: Allow --quilt=dpm

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Add two "echo ok."s
Ian Jackson [Wed, 21 Sep 2016 20:20:56 +0000 (21:20 +0100)]
Test suite: Add two "echo ok."s

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: oldnewtagalt: New test
Ian Jackson [Wed, 21 Sep 2016 20:19:46 +0000 (21:19 +0100)]
Test suite: oldnewtagalt: New test

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Add spelling test
Ian Jackson [Sun, 25 Sep 2016 18:39:48 +0000 (19:39 +0100)]
Test suite: Add spelling test

Fail this test if the tree contains the misspelling of "pseudo".

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoFix spelling of "pseudo"
Ian Jackson [Sun, 25 Sep 2016 18:24:33 +0000 (19:24 +0100)]
Fix spelling of "pseudo"

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Turn gc.auto off in our hidden working tree setups
Ian Jackson [Sat, 24 Sep 2016 10:19:42 +0000 (11:19 +0100)]
dgit: Turn gc.auto off in our hidden working tree setups

This avoids potential accidents: git gc --auto might otherwise run and
do very undesirable things to the user's working tree.  (I haven't
been able to trigger such a situation deliberately and none has been
reported, luckily...)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: examplegit: Importers inherit majorv too
Ian Jackson [Wed, 21 Sep 2016 20:17:38 +0000 (21:17 +0100)]
Test suite: examplegit: Importers inherit majorv too

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: Add a todo list item
Ian Jackson [Mon, 19 Sep 2016 01:19:28 +0000 (02:19 +0100)]
TODO.BRANCH: Add a todo list item

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Add t-tstunt-parsechangelog to a couple of tests
Ian Jackson [Mon, 19 Sep 2016 01:08:44 +0000 (02:08 +0100)]
Test suite: Add t-tstunt-parsechangelog to a couple of tests

inarchivecopy and the quilt-gbp tests just use the `example' package.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: Done drs-quilt-gbp (actually debpolicy-*)
Ian Jackson [Mon, 19 Sep 2016 01:02:38 +0000 (02:02 +0100)]
TODO.BRANCH: Done drs-quilt-gbp (actually debpolicy-*)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: quilt-gbp-build-modes-sbuild: Split out
Ian Jackson [Mon, 19 Sep 2016 01:01:09 +0000 (02:01 +0100)]
Test suite: quilt-gbp-build-modes-sbuild: Split out

Now the other tests can run even if the sbuild chroot is not
available.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: quilt-gbp-build-modes: Lift bulk into lib-build-modes
Ian Jackson [Mon, 19 Sep 2016 00:59:31 +0000 (01:59 +0100)]
Test suite: quilt-gbp-build-modes: Lift bulk into lib-build-modes

To split the sbuild test out, we want this to be reusable.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: Gardening (reorg only)
Ian Jackson [Mon, 19 Sep 2016 00:51:31 +0000 (01:51 +0100)]
TODO.BRANCH: Gardening (reorg only)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: drs-push-rejects: Test push of same version with different dgit
Ian Jackson [Mon, 19 Sep 2016 00:48:13 +0000 (01:48 +0100)]
Test suite: drs-push-rejects: Test push of same version with different dgit

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: drs-push-rejects: Break out re-prep (nfc)
Ian Jackson [Mon, 19 Sep 2016 00:47:53 +0000 (01:47 +0100)]
Test suite: drs-push-rejects: Break out re-prep (nfc)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: Some things done
Ian Jackson [Mon, 19 Sep 2016 00:38:39 +0000 (01:38 +0100)]
TODO.BRANCH: Some things done

7 years agoSplit brain: Test suite: quilt-gbp: Test 2nd push (ie, test pseudomerge)
Ian Jackson [Sun, 11 Sep 2016 18:01:47 +0000 (19:01 +0100)]
Split brain: Test suite: quilt-gbp: Test 2nd push (ie, test pseudomerge)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSplit brain: Make pseudomerge
Ian Jackson [Sun, 18 Sep 2016 22:42:16 +0000 (23:42 +0100)]
Split brain: Make pseudomerge

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSplit brain: Test suite: quilt-gbp: Check that DEP-14 tag was pushed
Ian Jackson [Sun, 18 Sep 2016 22:57:28 +0000 (23:57 +0100)]
Split brain: Test suite: quilt-gbp: Check that DEP-14 tag was pushed

Test that we pushed the maintainer view as well as the dgit view.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSplit brain: Always push the maintainer view tag
Ian Jackson [Sun, 18 Sep 2016 23:24:23 +0000 (00:24 +0100)]
Split brain: Always push the maintainer view tag

Our algorithm for calculating whether to do a pseudomerge to make the
dgit view fast forward from the archive contents depends on the
maintainer view tag (effectively, it uses it to go back from the
archive contents dgit view back to the corresponding maintainer view).

So we need to push it too.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSplit brain: dgit-repos-server: Permit pushing maintainer tag too
Ian Jackson [Mon, 19 Sep 2016 00:34:55 +0000 (01:34 +0100)]
Split brain: dgit-repos-server: Permit pushing maintainer tag too

Split brain is going to need the maintainer tag on the dgit server.
Allow clients to push the _both_ the DEP-14 and new dgit archive/ tag.

In this case dgit-repos-server can largely ignore the DEP-14 tag.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSplit brain: Add some debug relating to tagwants
Ian Jackson [Sun, 18 Sep 2016 23:23:44 +0000 (00:23 +0100)]
Split brain: Add some debug relating to tagwants

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoDgit.pm: fail: Strip any trailing newline
Ian Jackson [Sun, 18 Sep 2016 22:45:19 +0000 (23:45 +0100)]
Dgit.pm: fail: Strip any trailing newline

This makes it sensible to call fail() with a here doc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: debpolicy-quilt-gbp: New test
Ian Jackson [Sun, 18 Sep 2016 23:56:59 +0000 (00:56 +0100)]
Test suite: debpolicy-quilt-gbp: New test

Check that drs and Debian policy permit split brain.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoChangelog handling: Replace a call to parsechangelog with commit_getclogp
Ian Jackson [Sun, 18 Sep 2016 12:26:01 +0000 (13:26 +0100)]
Changelog handling: Replace a call to parsechangelog with commit_getclogp

This is less code, and takes advantage of the memoisation.

No overall functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoChangelog handling: No not check out last push any more during raw import
Ian Jackson [Sun, 18 Sep 2016 12:23:38 +0000 (13:23 +0100)]
Changelog handling: No not check out last push any more during raw import

We now get the changelog with mergeinfo_getclogp (which just fetches
the changelog blob).  This working tree is not used for anything else,
and is deleted at the end of the function.  So there is no need to
switch branches.

There should be no overall behavioural change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoChangelog handling: Use mergeinfo_getclogp during raw import
Ian Jackson [Sun, 18 Sep 2016 12:23:07 +0000 (13:23 +0100)]
Changelog handling: Use mergeinfo_getclogp during raw import

No overall functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoChangelog handling: Provide commit_getclogp (nfc)
Ian Jackson [Sun, 18 Sep 2016 12:14:28 +0000 (13:14 +0100)]
Changelog handling: Provide commit_getclogp (nfc)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoPush reorg: Have FF check use dgit view, not HEAD
Ian Jackson [Sun, 18 Sep 2016 11:49:48 +0000 (12:49 +0100)]
Push reorg: Have FF check use dgit view, not HEAD

Quilt fixup may generate a dgit view, which is not HEAD, and it is the
dgit view which will actually be pushed to the archive, so it is that
that should be checked.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodel_lrfetchrefs: Improve debug output a bit
Ian Jackson [Sun, 18 Sep 2016 11:49:39 +0000 (12:49 +0100)]
del_lrfetchrefs: Improve debug output a bit

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoPush reorg: Postpone FF check
Ian Jackson [Sun, 18 Sep 2016 11:46:37 +0000 (12:46 +0100)]
Push reorg: Postpone FF check

We need to do this after the quilt fixup, because we are going to make
quilt fixup perhaps generate a pseudo-merge.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: run-all: Ensure tests/tmp/ exists
Ian Jackson [Sun, 25 Sep 2016 19:09:45 +0000 (20:09 +0100)]
Test suite: run-all: Ensure tests/tmp/ exists

ca007b4d "Test suite: run-all: record output" introduced a regression:
if tests/tmp/ does not exist on entry, tests/run-all fails.

So create it first.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoPush reorg: Introduce $archive_hash in dopush (nfc)
Ian Jackson [Sun, 18 Sep 2016 11:45:01 +0000 (12:45 +0100)]
Push reorg: Introduce $archive_hash in dopush (nfc)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agofetch_from_archive: Mention that git_fetch_us must be called first
Ian Jackson [Sun, 18 Sep 2016 11:37:49 +0000 (12:37 +0100)]
fetch_from_archive: Mention that git_fetch_us must be called first

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: changedir: use confess, to get a stack trace
Ian Jackson [Sun, 18 Sep 2016 11:34:45 +0000 (12:34 +0100)]
dgit: changedir: use confess, to get a stack trace

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agofetch_from_archive: Return the hash (and update the comment)
Ian Jackson [Sun, 18 Sep 2016 11:32:49 +0000 (12:32 +0100)]
fetch_from_archive: Return the hash (and update the comment)

All the call sites currently treat the return value as a boolean, and
the truthiness and falsishness of return values is unchanged, so there
is no overall functional change.

Also, clarify the head comment somewhat.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Add a couple of comments
Ian Jackson [Sun, 18 Sep 2016 11:14:51 +0000 (12:14 +0100)]
dgit: Add a couple of comments

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoPush reorg: Move ff check out of cmd_push into dpush (nfc)
Ian Jackson [Sun, 18 Sep 2016 11:13:52 +0000 (12:13 +0100)]
Push reorg: Move ff check out of cmd_push into dpush (nfc)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: add some desires
Ian Jackson [Thu, 15 Sep 2016 18:40:37 +0000 (19:40 +0100)]
TODO.BRANCH: add some desires

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: quilt-gb-build-modes: Test --clean=dpkg-source too
Ian Jackson [Mon, 5 Sep 2016 21:42:35 +0000 (22:42 +0100)]
Test suite: quilt-gb-build-modes: Test --clean=dpkg-source too

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: quilt-gb-build-modes: Fixes, passes now
Ian Jackson [Mon, 5 Sep 2016 21:42:21 +0000 (22:42 +0100)]
Test suite: quilt-gb-build-modes: Fixes, passes now

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: lib-build-modes: Remove a couple of hardcoded versions
Ian Jackson [Mon, 5 Sep 2016 21:41:52 +0000 (22:41 +0100)]
Test suite: lib-build-modes: Remove a couple of hardcoded versions

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: quilt-gbp-build-modes: New test, which does not pass yet
Ian Jackson [Sun, 3 Jul 2016 23:02:33 +0000 (00:02 +0100)]
Test suite: quilt-gbp-build-modes: New test, which does not pass yet

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: With sbuild, unapply patches in right dir
Ian Jackson [Mon, 5 Sep 2016 21:41:16 +0000 (22:41 +0100)]
dgit: With sbuild, unapply patches in right dir

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: With gbp-build, provide gbp with patches-unapplied tree
Ian Jackson [Mon, 5 Sep 2016 21:40:26 +0000 (22:40 +0100)]
dgit: With gbp-build, provide gbp with patches-unapplied tree

We may still need to apply, and then unapply, the patches, so as to
clean the tree.  But gbp itself expects a patches-unapplied tree.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Make maybe_unapply_patches_again reset $patches_applied_dirtily
Ian Jackson [Mon, 5 Sep 2016 21:39:43 +0000 (22:39 +0100)]
dgit: Make maybe_unapply_patches_again reset $patches_applied_dirtily

That makes it idempotent.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: Some more todo items
Ian Jackson [Mon, 5 Sep 2016 21:39:16 +0000 (22:39 +0100)]
TODO.BRANCH: Some more todo items

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: TODO re fetch patterns
Ian Jackson [Sun, 4 Sep 2016 19:58:17 +0000 (20:58 +0100)]
TODO.BRANCH: TODO re fetch patterns

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: Add a new desire
Ian Jackson [Sun, 4 Sep 2016 19:50:21 +0000 (20:50 +0100)]
TODO.BRANCH: Add a new desire

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: quilt-gbp: Provide and use t-gbp-pushed-good
Ian Jackson [Sun, 4 Sep 2016 19:47:00 +0000 (20:47 +0100)]
Test suite: quilt-gbp: Provide and use t-gbp-pushed-good

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Break out t-incoming-dsc (nfc)
Ian Jackson [Sun, 4 Sep 2016 19:46:25 +0000 (20:46 +0100)]
Test suite: Break out t-incoming-dsc (nfc)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Break out t-pushed-good-core (nfc)
Ian Jackson [Sun, 4 Sep 2016 19:46:03 +0000 (20:46 +0100)]
Test suite: Break out t-pushed-good-core (nfc)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: t-output: support expecting empty files
Ian Jackson [Sun, 4 Sep 2016 19:45:27 +0000 (20:45 +0100)]
Test suite: t-output: support expecting empty files

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSplit brain: Push correct view to dgit repos server
Ian Jackson [Sun, 4 Sep 2016 19:44:57 +0000 (20:44 +0100)]
Split brain: Push correct view to dgit repos server

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Test suite: quilt-gbp test: More
Ian Jackson [Sun, 4 Sep 2016 17:23:09 +0000 (18:23 +0100)]
dgit: Test suite: quilt-gbp test: More

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: lrfetchrefs: Delete unneeded fetched refs, etc.
Ian Jackson [Sun, 11 Sep 2016 17:43:37 +0000 (18:43 +0100)]
dgit: lrfetchrefs: Delete unneeded fetched refs, etc.

Fetch only the refs we (think we) are going to use, and delete the
lrfetchrefs (`refs/dgit-fetch/...') versions of those we give another
name to.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Implement `git-fetch --no-insane'
Ian Jackson [Wed, 7 Sep 2016 20:41:03 +0000 (21:41 +0100)]
dgit: Implement `git-fetch --no-insane'

git-fetch has some very poor behaviours.  Implement a non-insane
version.

We are going to want to not fetch things we aren't going to use, and
this is necessary for that.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: tag-updates: Do not assert a that dgit-fetch/ ref exists
Ian Jackson [Sun, 11 Sep 2016 16:49:26 +0000 (17:49 +0100)]
Test suite: tag-updates: Do not assert a that dgit-fetch/ ref exists

We don't actually want dgit to leave these lying around unless it has
to.  So don't insist on that.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: inarchivecopy: Is finished
Ian Jackson [Wed, 31 Aug 2016 17:04:10 +0000 (18:04 +0100)]
Test suite: inarchivecopy: Is finished

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: inarchivecopy: use t-sametree-parent
Ian Jackson [Tue, 30 Aug 2016 00:37:43 +0000 (01:37 +0100)]
Test suite: inarchivecopy: use t-sametree-parent

Otherwise different history between fetch and clone breaks the test.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Provide t-sametree-parent
Ian Jackson [Tue, 30 Aug 2016 00:37:06 +0000 (01:37 +0100)]
Test suite: Provide t-sametree-parent

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: need to clean up lrfetchrefs
Ian Jackson [Sun, 14 Aug 2016 11:40:58 +0000 (12:40 +0100)]
TODO.BRANCH: need to clean up lrfetchrefs

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: inarchivecopy: More work
Ian Jackson [Sun, 14 Aug 2016 11:10:32 +0000 (12:10 +0100)]
Test suite: inarchivecopy: More work

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: inarchivecopy: More work
Ian Jackson [Wed, 10 Aug 2016 20:49:01 +0000 (21:49 +0100)]
Test suite: inarchivecopy: More work

Select specifically 1.3 for first test, and do a clone

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: inarchivecopy: New test (does not pass yet)
Ian Jackson [Sun, 7 Aug 2016 19:53:23 +0000 (20:53 +0100)]
Test suite: inarchivecopy: New test (does not pass yet)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: provide for x-dgit-unfinished restriction
Ian Jackson [Mon, 5 Sep 2016 23:10:23 +0000 (00:10 +0100)]
Test suite: provide for x-dgit-unfinished restriction

This will allow us to add tests which fail or are broken, without
causing the test suite as a whole to fail.  When the test is good, the
restrction should be removed.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Add a comment explaining import discard
Ian Jackson [Mon, 29 Aug 2016 23:06:14 +0000 (00:06 +0100)]
dgit: Add a comment explaining import discard

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Clarify some messages about archive/local skew
Ian Jackson [Mon, 29 Aug 2016 23:05:46 +0000 (00:05 +0100)]
dgit: Clarify some messages about archive/local skew

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: New fetch algorithm - try to tolerate in-archive copies
Ian Jackson [Sun, 14 Aug 2016 16:55:44 +0000 (17:55 +0100)]
dgit: New fetch algorithm - try to tolerate in-archive copies

Big comment explains.

Amongst other things:
 * Introduce the mergeinfo concept
 * Abolish fetchspec in favour of lrfetchref
 * Synthesize a pseudo-merge linking the archive's .dsc with the dgit
   server's git branch, as appropriate.
 * Introduce mergeinfo_version.

I have tried to ensure that where the import done by previous versions
of dgit would be correct, the new import is the same.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Remove refs/remotes/dgit/dgit/sid from pari-extra worktree
Ian Jackson [Sun, 14 Aug 2016 17:28:10 +0000 (18:28 +0100)]
Test suite: Remove refs/remotes/dgit/dgit/sid from pari-extra worktree

This, effectively, simulates a previous fetch of something.  Do this
in the actual tests instead: in this case, only necessary in
fetch-localgitonly.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: examplegit: make "new" branch be 2.x
Ian Jackson [Sun, 14 Aug 2016 11:10:14 +0000 (12:10 +0100)]
Test suite: examplegit: make "new" branch be 2.x

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: t-commit: honour $majorv for major version
Ian Jackson [Sun, 14 Aug 2016 11:09:32 +0000 (12:09 +0100)]
Test suite: t-commit: honour $majorv for major version

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Honour t_dgit_xopts
Ian Jackson [Sun, 24 Jul 2016 18:56:29 +0000 (19:56 +0100)]
Test suite: Honour t_dgit_xopts

No callers.  This may come in useful, though, at some point.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: examplegit: Make two pushes to unstable
Ian Jackson [Wed, 10 Aug 2016 20:48:03 +0000 (21:48 +0100)]
Test suite: examplegit: Make two pushes to unstable

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: examplegit: Save mirror as part of setup
Ian Jackson [Sun, 7 Aug 2016 19:52:38 +0000 (20:52 +0100)]
Test suite: examplegit: Save mirror as part of setup

incoming has nothing in it.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: t-setup-*: Fix lock path
Ian Jackson [Sun, 7 Aug 2016 19:52:11 +0000 (20:52 +0100)]
Test suite: t-setup-*: Fix lock path

Needs to be not in a directory which may not exist yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: Provide t-setup-* machinery
Ian Jackson [Sun, 7 Aug 2016 19:19:35 +0000 (20:19 +0100)]
Test suite: Provide t-setup-* machinery

Setups are, essentially, prefixes to test cases.  We arrange to be
able to reuse their state (as explicitly recorded in t-setup-done), so
that manual runs of the test suite can be faster.

We save the tmp base directory (the directory shared by tests), if
there is one.  That will be used for cacheing of setups.  And we save
the environment in form we can use xargs and env to restore.

We use a conventional with-lock-ex and stamp file pattern for the
cache.  The IMPORT file (containing shell variables) doubles as the
stamp.

The setup execution rune is exciting.  This mostly results from the
fact that we want xargs to pass all the env vars to env, and that
xargs cannot be persuaded to append fixed arguments to the arguments
read from its input file.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: examplegit setup script
Ian Jackson [Fri, 5 Aug 2016 19:38:59 +0000 (20:38 +0100)]
Test suite: examplegit setup script

We are going to have `setup' scripts which explain how to set up the
preconditions for one or more tests.  This is the first one.

Right now it runs to completion, generating its deliverables in $tmp,
but then crashes due to the as-yet-unimplemented t-setup-done call.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: t-commit: Permit specification of the suite in $3
Ian Jackson [Fri, 5 Aug 2016 19:37:32 +0000 (20:37 +0100)]
Test suite: t-commit: Permit specification of the suite in $3

This also means that we need to default $2 with ${2:-} since callers
want need to pass an empty value for the version, to get the default.

No functional change since none of the call sites use this yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: t-pushed-good: Support other suites
Ian Jackson [Fri, 5 Aug 2016 19:34:13 +0000 (20:34 +0100)]
Test suite: t-pushed-good: Support other suites

Honour $2 being the suite codename, defaulting to sid.

No functional change, since no-one passes this argument right now.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTest suite: t-archive-none: Support multiple suites
Ian Jackson [Fri, 5 Aug 2016 19:32:34 +0000 (20:32 +0100)]
Test suite: t-archive-none: Support multiple suites

t-archive-none now honours `suitespecs', which defaults to just
`sid:unstable'.

No overall functional change since no-one sets suitespecs to a
non-default value.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: Synthetic ff is not to do with $tag, really
Ian Jackson [Sun, 31 Jul 2016 18:29:37 +0000 (19:29 +0100)]
TODO.BRANCH: Synthetic ff is not to do with $tag, really

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: Have checked all uses of $split_brain
Ian Jackson [Sun, 31 Jul 2016 18:28:16 +0000 (19:28 +0100)]
TODO.BRANCH: Have checked all uses of $split_brain

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: Update following split tag work
Ian Jackson [Sun, 31 Jul 2016 18:14:09 +0000 (19:14 +0100)]
TODO.BRANCH: Update following split tag work

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoTODO.BRANCH: More notes about our plans
Ian Jackson [Sun, 22 May 2016 17:36:13 +0000 (18:36 +0100)]
TODO.BRANCH: More notes about our plans

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSplit brain: Test case: Do push
Ian Jackson [Sun, 31 Jul 2016 18:02:44 +0000 (19:02 +0100)]
Split brain: Test case: Do push

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