chiark / gitweb /
dgit.git
7 years agoArrange to pass --debug-quick-random to gpg-agent.
Ian Jackson [Sun, 8 Jan 2017 21:04:31 +0000 (21:04 +0000)]
Arrange to pass --debug-quick-random to gpg-agent.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agobadcommit-rewrite: Fix operation using installed version of fixup.
Ian Jackson [Sun, 8 Jan 2017 21:03:50 +0000 (21:03 +0000)]
badcommit-rewrite: Fix operation using installed version of fixup.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Generalise DGIT_TEST_REAL_<FOO> handling
Ian Jackson [Sun, 8 Jan 2017 13:40:14 +0000 (13:40 +0000)]
test suite: Generalise DGIT_TEST_REAL_<FOO> handling

No overall functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: tests/run-all: Use a bit more cpu
Ian Jackson [Sun, 8 Jan 2017 13:14:53 +0000 (13:14 +0000)]
test suite: tests/run-all: Use a bit more cpu

Make allowance for tests that do a bit of downloading or whatever.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.17~ (again)
Ian Jackson [Sat, 7 Jan 2017 15:09:17 +0000 (15:09 +0000)]
changelog: start 2.17~ (again)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: finalise 2.16.2 archive/debian/2.16.2 debian/2.16.2
Ian Jackson [Sat, 7 Jan 2017 13:32:10 +0000 (13:32 +0000)]
changelog: finalise 2.16.2

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup; In --check mode, exit status 2 if things are not fine
Ian Jackson [Sat, 7 Jan 2017 13:23:58 +0000 (13:23 +0000)]
dgit-badcommit-fixup; In --check mode, exit status 2 if things are not fine

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Fix crash when running for 2nd time in bare repo.
Ian Jackson [Sat, 7 Jan 2017 13:23:28 +0000 (13:23 +0000)]
dgit-badcommit-fixup: Fix crash when running for 2nd time in bare repo.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.17~ (again)
Ian Jackson [Sat, 7 Jan 2017 13:05:49 +0000 (13:05 +0000)]
changelog: start 2.17~ (again)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: finalise 2.16.1 debian/2.16.1
Ian Jackson [Sat, 7 Jan 2017 13:05:09 +0000 (13:05 +0000)]
changelog: finalise 2.16.1

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: New mode --check which is readonly.
Ian Jackson [Sat, 7 Jan 2017 13:00:41 +0000 (13:00 +0000)]
dgit-badcommit-fixup: New mode --check which is readonly.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.17~
Ian Jackson [Sat, 7 Jan 2017 12:53:58 +0000 (12:53 +0000)]
changelog: start 2.17~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: finalise 2.16 archive/debian/2.16 debian/2.16
Ian Jackson [Fri, 6 Jan 2017 20:46:43 +0000 (20:46 +0000)]
changelog: finalise 2.16

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Put our version in our rewrite map commit message
Ian Jackson [Fri, 6 Jan 2017 20:28:01 +0000 (20:28 +0000)]
dgit-badcommit-fixup: Put our version in our rewrite map commit message

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Skip our own output refs
Ian Jackson [Fri, 6 Jan 2017 20:23:30 +0000 (20:23 +0000)]
dgit-badcommit-fixup: Skip our own output refs

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Instructions comment
Ian Jackson [Fri, 6 Jan 2017 20:23:20 +0000 (20:23 +0000)]
dgit-badcommit-fixup: Instructions comment

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoShell bug: avoid local=$(....) as it defeats set -e
Ian Jackson [Fri, 6 Jan 2017 19:49:23 +0000 (19:49 +0000)]
Shell bug: avoid local=$(....) as it defeats set -e

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: badcommit-rewrite: Check HEAD manipulation is right
Ian Jackson [Fri, 6 Jan 2017 18:15:01 +0000 (18:15 +0000)]
test suite: badcommit-rewrite: Check HEAD manipulation is right

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Do not detach HEAD - this is not needed
Ian Jackson [Fri, 6 Jan 2017 18:13:34 +0000 (18:13 +0000)]
dgit-badcommit-fixup: Do not detach HEAD - this is not needed

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: New test for history-rewriting
Ian Jackson [Fri, 6 Jan 2017 18:09:54 +0000 (18:09 +0000)]
test suite: New test for history-rewriting

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Now seems to work
Ian Jackson [Fri, 6 Jan 2017 18:09:27 +0000 (18:09 +0000)]
dgit-badcommit-fixup: Now seems to work

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Debugging (commented out)
Ian Jackson [Fri, 6 Jan 2017 18:08:52 +0000 (18:08 +0000)]
dgit-badcommit-fixup: Debugging (commented out)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: lib-core: Provide DGIT_BADCOMMIT_FIXUP
Ian Jackson [Fri, 6 Jan 2017 17:51:29 +0000 (17:51 +0000)]
test suite: lib-core: Provide DGIT_BADCOMMIT_FIXUP

So that tests can test this program.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: t-make-badcommit: Generate a commit we can fix up
Ian Jackson [Fri, 6 Jan 2017 17:50:08 +0000 (17:50 +0000)]
test suite: t-make-badcommit: Generate a commit we can fix up

This is very like a commit generated by #849041.  The wrongness is the
same.  The difference is that it's not in a dgit-generated merge, but
the fixup script doesn't care about that.

The existing test case which uses this (drs-push-rejects) still sees
badness and is therefore still happy.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Bugfixes
Ian Jackson [Fri, 6 Jan 2017 17:49:49 +0000 (17:49 +0000)]
dgit-badcommit-fixup: Bugfixes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoChange name of rewrite map ref (needs an extra / for git)
Ian Jackson [Fri, 6 Jan 2017 17:48:38 +0000 (17:48 +0000)]
Change name of rewrite map ref (needs an extra / for git)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Break out t-make-badcommit
Ian Jackson [Fri, 6 Jan 2017 17:11:03 +0000 (17:11 +0000)]
test suite: Break out t-make-badcommit

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Honour dgit-rewrite-map
Ian Jackson [Fri, 6 Jan 2017 17:01:48 +0000 (17:01 +0000)]
dgit: Honour dgit-rewrite-map

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoDgit.pm: Provide git_cat_file
Ian Jackson [Fri, 6 Jan 2017 17:01:14 +0000 (17:01 +0000)]
Dgit.pm: Provide git_cat_file

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Implement dgit-rewrite-map
Ian Jackson [Fri, 6 Jan 2017 16:36:06 +0000 (16:36 +0000)]
dgit-badcommit-fixup: Implement dgit-rewrite-map

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Break out filter_updates
Ian Jackson [Fri, 6 Jan 2017 16:26:19 +0000 (16:26 +0000)]
dgit-badcommit-fixup: Break out filter_updates

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Remove obsolete variable
Ian Jackson [Fri, 6 Jan 2017 16:23:10 +0000 (16:23 +0000)]
dgit-badcommit-fixup: Remove obsolete variable

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Do update sameness filtering a bit later
Ian Jackson [Fri, 6 Jan 2017 16:22:28 +0000 (16:22 +0000)]
dgit-badcommit-fixup: Do update sameness filtering a bit later

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Remove failing approach
Ian Jackson [Fri, 6 Jan 2017 16:16:33 +0000 (16:16 +0000)]
dgit-badcommit-fixup: Remove failing approach

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Ship
Ian Jackson [Fri, 6 Jan 2017 16:15:21 +0000 (16:15 +0000)]
dgit-badcommit-fixup: Ship

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-badcommit-fixup: Rename
Ian Jackson [Fri, 6 Jan 2017 16:11:52 +0000 (16:11 +0000)]
dgit-badcommit-fixup: Rename

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agobadcommit-fixup: Merge from a filtered view of my personal playground
Ian Jackson [Fri, 6 Jan 2017 16:09:39 +0000 (16:09 +0000)]
badcommit-fixup: Merge from a filtered view of my personal playground

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.16~
Ian Jackson [Fri, 6 Jan 2017 16:09:29 +0000 (16:09 +0000)]
changelog: start 2.16~

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agobadcommit-fixup: remove some debug
Ian Jackson [Thu, 5 Jan 2017 19:26:37 +0000 (19:26 +0000)]
badcommit-fixup: remove some debug

7 years agobadcommit-fixup: dummy add seems workingish
Ian Jackson [Thu, 5 Jan 2017 19:25:14 +0000 (19:25 +0000)]
badcommit-fixup: dummy add seems workingish

7 years agobadcommit-fixup: break out $bare
Ian Jackson [Thu, 5 Jan 2017 19:10:37 +0000 (19:10 +0000)]
badcommit-fixup: break out $bare

7 years agobadcommit-fixup: wip dummy commits
Ian Jackson [Thu, 5 Jan 2017 19:00:55 +0000 (19:00 +0000)]
badcommit-fixup: wip dummy commits

7 years agobadcommit-fixup: wip dummy commits
Ian Jackson [Thu, 5 Jan 2017 18:31:31 +0000 (18:31 +0000)]
badcommit-fixup: wip dummy commits

7 years agochangelog: finalise 2.15 (will not be uploaded) debian/2.15
Ian Jackson [Thu, 5 Jan 2017 18:20:42 +0000 (18:20 +0000)]
changelog: finalise 2.15 (will not be uploaded)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agobadcommit-fixup: break out $bare
Ian Jackson [Thu, 5 Jan 2017 17:42:01 +0000 (17:42 +0000)]
badcommit-fixup: break out $bare

7 years agobadcommit-fixup: reorganise arg parsing
Ian Jackson [Thu, 5 Jan 2017 17:40:45 +0000 (17:40 +0000)]
badcommit-fixup: reorganise arg parsing

7 years agotest suite: Do not tolerate any stderr output from git-fsck
Ian Jackson [Thu, 5 Jan 2017 15:47:06 +0000 (15:47 +0000)]
test suite: Do not tolerate any stderr output from git-fsck

We must tolerate
  notice: HEAD points to an unborn branch (master)
  notice: No default references
which are generated by some of our existing test cases and are pretty
much harmless.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Introduce t-expect-fsck-fail
Ian Jackson [Thu, 5 Jan 2017 15:37:49 +0000 (15:37 +0000)]
test suite: Introduce t-expect-fsck-fail

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Make expect_fsck_fail contain objids
Ian Jackson [Thu, 5 Jan 2017 15:30:13 +0000 (15:30 +0000)]
test suite: Make expect_fsck_fail contain objids

This will make it possible to be stricter.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoMerge tag dgit/2.14 into `defence in dgit-repos-server' branch
Ian Jackson [Thu, 5 Jan 2017 14:01:38 +0000 (14:01 +0000)]
Merge tag dgit/2.14 into `defence in dgit-repos-server' branch

Fix up semantic conflict: the new git-fsck test (in 2.14) fails on the
new broken commits (in the `defence in dgit-repos-server' branch).

We need to disable this.  Ideally we would make a tighter test, but
that's too much to do in a merge.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Test bad commit defence in drs-push-rejects
Ian Jackson [Thu, 5 Jan 2017 13:47:40 +0000 (13:47 +0000)]
test suite: Test bad commit defence in drs-push-rejects

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-repos-server: Defend against bad commits (from eg #849041).
Ian Jackson [Thu, 5 Jan 2017 13:46:34 +0000 (13:46 +0000)]
dgit-repos-server: Defend against bad commits (from eg #849041).

Right now, this causes the test `debpolicy-quilt-gbp' to fail,
because in this branch #849041 is unfixed.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agobadcommit-fixup: only detach bare
Ian Jackson [Thu, 5 Jan 2017 02:04:12 +0000 (02:04 +0000)]
badcommit-fixup: only detach bare

7 years agobadcommit-fixup: fix a git-
Ian Jackson [Thu, 5 Jan 2017 02:00:48 +0000 (02:00 +0000)]
badcommit-fixup: fix a git-

7 years agobadcommit-fixup: seems to work
Ian Jackson [Thu, 5 Jan 2017 01:56:43 +0000 (01:56 +0000)]
badcommit-fixup: seems to work

7 years agobadcommit-fixup: seems to do main thing
Ian Jackson [Thu, 5 Jan 2017 01:43:22 +0000 (01:43 +0000)]
badcommit-fixup: seems to do main thing

7 years agobadcommit-fixup: wip
Ian Jackson [Thu, 5 Jan 2017 01:34:05 +0000 (01:34 +0000)]
badcommit-fixup: wip

7 years agobadcommit-fixup: wip g-f-b
Ian Jackson [Thu, 5 Jan 2017 01:15:43 +0000 (01:15 +0000)]
badcommit-fixup: wip g-f-b

7 years agobadcommit-fixup: wip g-f-b
Ian Jackson [Thu, 5 Jan 2017 01:15:39 +0000 (01:15 +0000)]
badcommit-fixup: wip g-f-b

7 years agobadcommit-fixup: before no g-f-b
Ian Jackson [Thu, 5 Jan 2017 00:24:54 +0000 (00:24 +0000)]
badcommit-fixup: before no g-f-b

7 years agobadcommit-fixup: more wip
Ian Jackson [Thu, 5 Jan 2017 00:13:37 +0000 (00:13 +0000)]
badcommit-fixup: more wip

7 years agochangelog: finalise 2.14 archive/debian/2.14 debian/2.14
Ian Jackson [Wed, 4 Jan 2017 22:53:49 +0000 (22:53 +0000)]
changelog: finalise 2.14

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agobadcommit-fixup wip
Ian Jackson [Wed, 4 Jan 2017 22:52:44 +0000 (22:52 +0000)]
badcommit-fixup wip

7 years agochangelog: Document changes
Ian Jackson [Wed, 4 Jan 2017 22:09:39 +0000 (22:09 +0000)]
changelog: Document changes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Do not generate bogus commits
Ian Jackson [Wed, 4 Jan 2017 21:47:53 +0000 (21:47 +0000)]
dgit: Do not generate bogus commits

There were two places in the code where ill-formed commits were
generated: both psedumerges.

One is in dgit import-dsc, a fairly minor problem.

The other is in --overwrite and is very bad because that's an
important option.

Nothing in git seems to notice, unless you run git-fsck.  Even a git
server does not, by default.  However, some other popular git servers
do reject these broken commits.

I have tested this changes with git-fsck (by using the test suite
patches which follow in this series) and now everything seems fine.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Clean out erroneous reflog in a worktree
Ian Jackson [Wed, 4 Jan 2017 21:02:03 +0000 (21:02 +0000)]
test suite: Clean out erroneous reflog in a worktree

git-reflog expire --expire-unreachable=now --all

Without this, this worktree causes git-fsck to complain!

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Run git-fsck a lot
Ian Jackson [Wed, 4 Jan 2017 20:52:11 +0000 (20:52 +0000)]
test suite: Run git-fsck a lot

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Add some missing calls to t-ok.
Ian Jackson [Wed, 4 Jan 2017 20:43:12 +0000 (20:43 +0000)]
test suite: Add some missing calls to t-ok.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agotest suite: Introduce t-ok.
Ian Jackson [Wed, 4 Jan 2017 20:35:49 +0000 (20:35 +0000)]
test suite: Introduce t-ok.

No functional change.

 perl -i~ -pe 's/^echo ok\.$/t-ok/' tests/tests/*[^~]
 perl -i~ -pe 's/^echo ok\.$/t-ok/' tests/setup/*[^~]
 perl -i~ -pe 's/^echo done\.$/t-ok/' tests/tests/*[^~]
 perl -i~ -pe 's/^echo done\.$/t-ok/' tests/setup/*[^~]

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.14
Ian Jackson [Wed, 21 Dec 2016 14:13:30 +0000 (14:13 +0000)]
changelog: start 2.14

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.14
Ian Jackson [Wed, 21 Dec 2016 14:13:30 +0000 (14:13 +0000)]
changelog: start 2.14

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: finalise 2.13 archive/debian/2.13 debian/2.13
Ian Jackson [Wed, 21 Dec 2016 01:32:54 +0000 (01:32 +0000)]
changelog: finalise 2.13

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: document dgit-sponsorship fix
Ian Jackson [Tue, 20 Dec 2016 23:33:41 +0000 (23:33 +0000)]
changelog: document dgit-sponsorship fix

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-sponsorship(7): Update in light of fixed #844129
Sean Whitton [Mon, 19 Dec 2016 21:32:51 +0000 (21:32 +0000)]
dgit-sponsorship(7): Update in light of fixed #844129

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agochangelog: document dgit-maint-gbp fix
Ian Jackson [Tue, 20 Dec 2016 23:31:37 +0000 (23:31 +0000)]
changelog: document dgit-maint-gbp fix

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-maint-gbp(7): Remove reference to closed bug.
Sean Whitton [Mon, 19 Dec 2016 21:14:32 +0000 (21:14 +0000)]
dgit-maint-gbp(7): Remove reference to closed bug.

Thanks Felipe Sateler for the bug report.

Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
7 years agoImport fix: Switch back to unpa branch on patch import iterations.
Ian Jackson [Tue, 20 Dec 2016 21:40:15 +0000 (21:40 +0000)]
Import fix: Switch back to unpa branch on patch import iterations.

In particular, do not fail utterly if dpkg-source and gbp
disagree. Closes:#848843.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoImprove "cannot represent change" message
Ian Jackson [Tue, 20 Dec 2016 21:38:34 +0000 (21:38 +0000)]
Improve "cannot represent change" message

Print the git old and new modes too.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoquilt fixup: Permit creation of patches which delete files
Ian Jackson [Tue, 20 Dec 2016 21:14:48 +0000 (21:14 +0000)]
quilt fixup: Permit creation of patches which delete files

By psssing --include-removal to dpkg-source, and tolerating it when we
do our quilt fixup analysis.

dpkg-source has supported this since at least stretch.

Closes:#848901.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: start 2.13
Ian Jackson [Tue, 20 Dec 2016 20:45:34 +0000 (20:45 +0000)]
changelog: start 2.13

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: finalise 2.12 archive/debian/2.12
Ian Jackson [Mon, 19 Dec 2016 17:35:37 +0000 (17:35 +0000)]
changelog: finalise 2.12

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoabsurd/git: Do not fail to import a .dsc containing patches to .git/ (!)
Ian Jackson [Mon, 19 Dec 2016 14:54:30 +0000 (14:54 +0000)]
absurd/git: Do not fail to import a .dsc containing patches to .git/ (!)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoabsurd/git Do not fail to import certain weird .dscs
Ian Jackson [Mon, 19 Dec 2016 14:51:48 +0000 (14:51 +0000)]
absurd/git Do not fail to import certain weird .dscs

A .dsc containing patches which patch files multiple times would be
rejected by dpkg-source due to #848611.

Work around this by arranging for the patch of interest to never be
the first patch, by introducing (and then evaporating) a dummy patch.

Yuk.

Closes:#848391.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoProduce better error reporting when absurd git wrapper fails on a patch
Ian Jackson [Mon, 19 Dec 2016 14:45:18 +0000 (14:45 +0000)]
Produce better error reporting when absurd git wrapper fails on a patch

during .dsc import.  Apropos of #848391.

gbp swallows the error from the first run (without --whitespace=fix).
Previously only that first run would do anything useful; the second
would complain about --whitespace=fix.  So failures of dpkg-source
would always produce a useless error message.

Instead, tolerate (and ignore) the --whitespace=fix option which gbp
passes during the second run.  This means that the second run tries to
do the actual work.

This only does extra work if the first run failed, and since the first
and second runs are now equivalent, that happens when the second run
fails too.  But in return for that extra work, we get a report which
actually mentions something that unexpectedly went wrong.

(The alternative would be to have absurd/git try to stash and then
reproduce its previous error, or to make more fragile assumptions
about gbp's behaviour.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoabsurd/git: Better debugging
Ian Jackson [Mon, 19 Dec 2016 14:35:30 +0000 (14:35 +0000)]
absurd/git: Better debugging

Honour DGIT_ABSURD_DEBUG, which is set by dgit from $debuglevel.
Also, in dgit, open the output file for append.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoabsurd/git: Introduce log()
Ian Jackson [Mon, 19 Dec 2016 14:33:55 +0000 (14:33 +0000)]
absurd/git: Introduce log()

Right now this simply replaces all the echo >&2, producing no
significant functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoDo not fail when cloning a package containing dangling symlinks.
Ian Jackson [Mon, 19 Dec 2016 13:37:30 +0000 (13:37 +0000)]
Do not fail when cloning a package containing dangling symlinks.

Closes:#848512.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoBy default, generate a DEP-14 tag as well as a dgit archive/* tag
Ian Jackson [Thu, 15 Dec 2016 00:54:21 +0000 (00:54 +0000)]
By default, generate a DEP-14 tag as well as a dgit archive/* tag

Even in non-split-view quilt modes.  Closes:#844129.

This breaks one of the test suite test cases, so disable it there.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Break out access_cfg_tagformats_can_splitbrain
Ian Jackson [Thu, 15 Dec 2016 00:52:34 +0000 (00:52 +0000)]
dgit: Break out access_cfg_tagformats_can_splitbrain

While we're at it, use a hash %y rather than repeatedly grepping.

No overall functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoSuppress some leftover debugging output from import-dsc. Closes:#847658.
Ian Jackson [Thu, 15 Dec 2016 00:07:44 +0000 (00:07 +0000)]
Suppress some leftover debugging output from import-dsc. Closes:#847658.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoIf we cannot hardlink origs into our extraction area, use symlinks instead.
Ian Jackson [Thu, 15 Dec 2016 00:06:19 +0000 (00:06 +0000)]
If we cannot hardlink origs into our extraction area, use symlinks instead.

Closes:#844570.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit: Give better advice if .dsc/.changes signing fails
Ian Jackson [Wed, 14 Dec 2016 21:39:10 +0000 (21:39 +0000)]
dgit: Give better advice if .dsc/.changes signing fails

If no changes are needed to the package, user may indeed just debsign
and dput.  Closes:#844131.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Mention #844128
Ian Jackson [Wed, 14 Dec 2016 21:31:44 +0000 (21:31 +0000)]
changelog: Mention #844128

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Document closure of #847987
Ian Jackson [Wed, 14 Dec 2016 18:27:30 +0000 (18:27 +0000)]
changelog: Document closure of #847987

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agodgit-maint-native: clarify which sort of native
Philip Hands [Sat, 10 Dec 2016 18:58:08 +0000 (19:58 +0100)]
dgit-maint-native: clarify which sort of native

7 years agoSlightly better message when .dsc not found.
Ian Jackson [Wed, 16 Nov 2016 18:17:51 +0000 (18:17 +0000)]
Slightly better message when .dsc not found.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoVersion tags mangling: Protect dots, as per proposed update to DEP-14.
Ian Jackson [Wed, 9 Nov 2016 21:37:52 +0000 (21:37 +0000)]
Version tags mangling: Protect dots, as per proposed update to DEP-14.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoIntroduce dep14_version_quote
Ian Jackson [Wed, 9 Nov 2016 21:35:58 +0000 (21:35 +0000)]
Introduce dep14_version_quote

Removes three identical copies of this y/// rune.  No functional
change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agochangelog: Mention dgit-maint-merge changes
Ian Jackson [Mon, 19 Dec 2016 14:59:19 +0000 (14:59 +0000)]
changelog: Mention dgit-maint-merge changes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
7 years agoMerge remote-tracking branch 'spwhitton/maint-merge-updates' into fix
Ian Jackson [Mon, 19 Dec 2016 16:57:16 +0000 (16:57 +0000)]
Merge remote-tracking branch 'spwhitton/maint-merge-updates' into fix