chiark / gitweb /
Merge tag dgit/2.14 into `defence in dgit-repos-server' branch
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 5 Jan 2017 14:01:38 +0000 (14:01 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 5 Jan 2017 14:03:23 +0000 (14:03 +0000)
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>
58 files changed:
debian/changelog
dgit
tests/lib
tests/setup/examplegit
tests/setup/gnupg
tests/tests/absurd-gitapply
tests/tests/build-modes
tests/tests/build-modes-gbp
tests/tests/build-modes-sbuild
tests/tests/clone-clogsigpipe
tests/tests/clone-gitnosuite
tests/tests/clone-nogit
tests/tests/clone-reprepro
tests/tests/debpolicy-dbretry
tests/tests/debpolicy-newreject
tests/tests/distropatches-reject
tests/tests/drs-push-masterupdate
tests/tests/drs-push-rejects
tests/tests/dsd-clone-drs
tests/tests/fetch-localgitonly
tests/tests/fetch-somegit-notlast
tests/tests/gbp-orig
tests/tests/gitconfig
tests/tests/import-dsc
tests/tests/import-native
tests/tests/import-nonnative
tests/tests/import-tarbomb
tests/tests/inarchivecopy
tests/tests/mirror
tests/tests/mirror-debnewgit
tests/tests/mirror-private
tests/tests/mismatches-contents
tests/tests/mismatches-dscchanges
tests/tests/multisuite
tests/tests/oldnewtagalt
tests/tests/orig-include-exclude
tests/tests/orig-include-exclude-chkquery
tests/tests/overwrite-chkclog
tests/tests/overwrite-junk
tests/tests/overwrite-splitbrains
tests/tests/overwrite-version
tests/tests/push-buildproductsdir
tests/tests/push-newpackage
tests/tests/push-nextdgit
tests/tests/quilt
tests/tests/quilt-gbp
tests/tests/quilt-gbp-build-modes
tests/tests/quilt-gbp-build-modes-sbuild
tests/tests/quilt-singlepatch
tests/tests/quilt-splitbrains
tests/tests/rpush
tests/tests/spelling
tests/tests/tag-updates
tests/tests/test-list-uptodate
tests/tests/trustingpolicy-replay
tests/tests/unrepresentable
tests/tests/version-opt
tests/worktrees/example_1.0.tar

index 6d0b61372c250bdea0f648c634162b1671c8452d..bfbffd5f26c6167be8b216e16f998730ee21ae68 100644 (file)
@@ -1,9 +1,20 @@
-dgit (2.14) unstable; urgency=low
+dgit (2.15~) unstable; urgency=low
 
   * 
 
  --
 
+dgit (2.14) unstable; urgency=critical
+
+  CRITICAL BUGFIX:
+  * Do not generate bogus commits with --overwrite or import-dsc.
+    Closes:#849041.
+
+  Test suite:
+  * Run a lot of git-fsck.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Wed, 04 Jan 2017 22:52:55 +0000
+
 dgit (2.13) unstable; urgency=high
 
   Changed behaviour:
diff --git a/dgit b/dgit
index 1e7c923eea6e8070b3f2254af6f8a85570d05aa4..9d3584fb7e0abd96b420e70a3f24def0b78ee20e 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -3538,7 +3538,7 @@ tree $tree
 parent $dgitview
 parent $archive_hash
 author $authline
-commiter $authline
+committer $authline
 
 $msg_msg
 
@@ -5944,10 +5944,14 @@ END
            progress "Import, merging.";
            my $tree = cmdoutput @git, qw(rev-parse), "$newhash:";
            my $version = getfield $dsc, 'Version';
+           my $clogp = commit_getclogp $newhash;
+           my $authline = clogp_authline $clogp;
            $newhash = make_commit_text <<END;
 tree $tree
 parent $newhash
 parent $oldhash
+author $authline
+committer $authline
 
 Merge $package ($version) import into $dstbranch
 END
index d075bc763f0d05249b233294d64dd91bc6b7c0f7..5fcb6f656b82497e2726638c7ae2523bc5245064 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -349,6 +349,25 @@ t-git-dir-check () {
        esac
 }
 
+t-git-fsck () {
+       git fsck --no-dangling --strict || ${expect_fsck_fail-false}
+}
+
+t-fscks () {
+       (
+       shopt -s nullglob
+       for d in $tmp/*/.git $tmp/git/*.git; do
+               cd "$d"
+               t-git-fsck
+       done
+       )
+}
+
+t-ok () {
+       t-fscks
+       echo ok.
+}
+
 t-rm-dput-dropping () {
        rm -f $tmp/${p}_${v}_*.upload
 }
index 98900d098accfbc4e07b810711a5fd94fbf12d6c..112e27a6bc6f1a3c5c4680ac0c210b673392adee 100755 (executable)
@@ -50,4 +50,4 @@ push-to master sid
 
 t-setup-done 'p v suitespecs majorv revision' "aq git mirror $p"
 
-echo ok.
+t-ok
index 97cdb6498bb53f94c0b6befbb370da8b8d5657e8..d23ecfa34147f5fb441419b680cc8069a25fd34c 100755 (executable)
@@ -12,4 +12,4 @@ gpg --list-secret
 
 t-setup-done 'GNUPGHOME' 'gnupg'
 
-echo ok.
+t-ok
index c7eea86ca902075348c8b447d239872c98ce4708..90c44be2999121742fbee782fbc6dd9277e1d6e2 100755 (executable)
@@ -13,4 +13,4 @@ t-dgit clone $p
 cd $p
 grep moo moo
 
-echo ok.
+t-ok
index 18ead358e763f1a7b17667a3c5aff1d0c150a896..c476ec815e46660044bcc4fccebacc9fefae7a0f 100755 (executable)
@@ -32,4 +32,4 @@ for act in                                    \
        bm-act-iterate
 done
 
-echo ok.
+t-ok
index e8d9c160a424bb4e6ff6a2b8d89160b7ed0ad17a..50a6288e75879deaf82f3390a5d94e5d9804a98d 100755 (executable)
@@ -36,4 +36,4 @@ for act in                                    \
        bm-act-iterate
 done
 
-echo ok.
+t-ok
index f030f71a27063665ca3d17d28f8145310c0a144d..19dcc8a41de08d47749d77014b52d5bf5421cdab 100755 (executable)
@@ -15,4 +15,4 @@ real_act="$act"
 bm-guess-e-source-e-targets "$act"
 bm-act-iterate
 
-echo ok.
+t-ok
index ff5f303e7f049885a67658c3cb524bcafc8900d1..4465cf38da413ac5c566b3e940abd4441ad35dc2 100755 (executable)
@@ -7,4 +7,4 @@ t-git-none
 
 t-dgit clone $p
 
-echo ok.
+t-ok
index 6b1c9375fa2461037840f353f172de8007caf3ae..83c996dc0232c428e9d035e906c72d6c3743957c 100755 (executable)
@@ -7,3 +7,5 @@ t-git-none
 cp -a $tmp/git/_template $dgitrepo
 
 t-dgit clone $p
+
+t-ok
index 477eb5556a08668f3fbe03b205f64f3319aaee54..e99dac31939f9181f7a3ee8265915ce45869b4e1 100755 (executable)
@@ -22,4 +22,4 @@ t-dgit push
 
 t-pushed-good dgit/sid
 
-echo ok.
+t-ok
index 62b4c8d08bcd6ddea00ce9a0675ba5f99efa5784..063a1387de18d236a4a14a84515f378b0e4d5d0d 100755 (executable)
@@ -30,4 +30,4 @@ t-dgit fetch unstable,stable
 t-refs-same-start
 t-refs-same refs/remotes/dgit/sid,stable refs/remotes/dgit/sid
 
-echo ok.
+t-ok
index b2d80931824bc55c9afc2a1bdbc0408b74ac6c54..a9f2334121c841ca43351eeb111d2c6fec76335f 100755 (executable)
@@ -64,4 +64,4 @@ ls $tmp/sqlite3.rolled-back
 
 t-policy-admin list-taints | tee $tmp/taints-list | grep $autotaint
 
-echo ok.
+t-ok
index 4da568c3199bbec03b76bee202cfaa8a20ae0227..1fa6751782df0adc8b5d996d6701da8f76ea9e65 100755 (executable)
@@ -118,4 +118,4 @@ t-expect-push-fail \
     'Reason: rewound suite sid; --deliberately-not-fast-forward specified' \
 t-dgit push
 
-echo ok.
+t-ok
index 31a3797e4f108e976b3f69a2cd9f56811cba9b48..75f43dbae5cd5a99bc628e17648728b89dcf805f 100755 (executable)
@@ -78,4 +78,4 @@ DEB_VENDOR=test-dummy-aside \
 expect-fail-distro-series DEB_VENDOR \
 t-dgit clone $p
 
-echo done.
+t-ok
index 9d2e6320705c30326fcae1ac79d2584a22239f8d..c8a5c5a44da1c057f1785118d2566c429de39d41 100755 (executable)
@@ -47,4 +47,4 @@ git commit --allow-empty -m 'Has no common ancestor'
 
 push_and_check +HEAD:master
 
-echo done.
+t-ok
index 7b7c5f32a2a3c8e093e5f0b0669055c01e6777e1..dee14b86fe68f14cea98137ef22a03991471b046 100755 (executable)
@@ -203,4 +203,7 @@ mustfail "not in permissions list although in keyring" $push_spec
 prep_dm_mangle ''
 mustsucceed $push_spec # succeeds
 
-echo ok.
+# we generate some junk, so we must tolerate git-fsck complaining
+expect_fsck_fail=true
+
+t-ok
index 16bfa2eaa87886326c23d7e9e9708a0fb1d41ec0..4346579a8dd4f76d48b3689ca87fa1144dc6e236 100755 (executable)
@@ -13,4 +13,4 @@ t-dgit clone-dgit-repos-server drs-cloned
 cd drs-cloned
 ls -al infra/dgit-repos-server
 
-echo ok.
+t-ok
index b0ade5f2991e534efdd2b476e475d9b96c07272d..7d603b2704f73cf0b1a7909abdd812dadb6c6e51 100755 (executable)
@@ -17,4 +17,4 @@ t-dgit pull
 t-cloned-fetched-good
 t-has-ancestor $old
 
-echo ok.
+t-ok
index 15b940465733c3e1212bac39604413fc8ebd1cf8..63abe8ad91b717f782e6698de75c5451feb26949 100755 (executable)
@@ -12,4 +12,4 @@ cd $p
 t-cloned-fetched-good
 t-has-ancestor debian/3-1
 
-echo ok.
+t-ok
index 29dd4570848b7234efdb7619e8771e2e99da0321..beea12169d711f415aadc13598744998430ff2ad 100755 (executable)
@@ -74,4 +74,4 @@ done
 cd $tmp
 diff -ruN gbp-output/tar-x tar-x
 
-echo done.
+t-ok
index 263d73327395d5942807a2e7f8ce5691707857e9..12b342b51cb10c4917b51588e6bd3499260ef965 100755 (executable)
@@ -35,4 +35,4 @@ t-dgit clean
 
 t-dgit -cdgit.default.clean-mode=none clean
 
-echo ok.
+t-ok
index 98092a245a1dcd76bcacfeaa722684a7144529cc..b86eef63c913373b1989e815fc0784b63bb4e801 100755 (executable)
@@ -96,4 +96,4 @@ test "x$mb" = x
 t-expect-fail 'signature check failed' \
 t-dgit import-dsc --require-valid-signature $dsc2 +$branch
 
-echo ok.
+t-ok
index d07cd9d43780fb9887d8d01f2533bcc6e801bd4e..1e093437049b3c3c3ee57baed33188706c8c1815 100755 (executable)
@@ -66,4 +66,4 @@ for v in $versions; do
        lastv_imp=$this_imp
 done
 
-echo ok.
+t-ok
index d324172e19cff9e95def1df11441f87019de4b36..356856305742f6eb5d8a43d9af0a5fdeea865dd8 100755 (executable)
@@ -14,4 +14,4 @@ t-import-chk example 1.0-1
 # 3.0 (quilt), single-debian-patch, one orig
 t-import-chk sunxi-tools 1.2-2.~~dgittest
 
-echo done.
+t-ok
index c0bc4c460af5f0019b2e61775d46808ae7374c49..9b7f65a66cce726e2e4f8107b3431e9baac54cef 100755 (executable)
@@ -46,4 +46,4 @@ echo SPONG >.pc/SPONG
 tar zvcf ../$orig .
 mangle2
 
-echo done.
+t-ok
index b34ba333fbae71d8282e5cb5c697a65f08c7706a..b1e0c5f26767a2fd211e32c1526145abd3fc69e7 100755 (executable)
@@ -76,4 +76,4 @@ cd ..
 
 copy-check 2.1 testing
 
-echo ok.
+t-ok
index 95c1cdbd139f6cb39d4260ad5a7a15079cb06e2e..49476880aa2d446b282f330af9855ee896469b81 100755 (executable)
@@ -77,4 +77,4 @@ done
 
 t-check-mirrored
 
-echo done.
+t-ok
index 4f2471604d04ce70b240dd1fedfe8413fbc39bcf..59b96ef791ffb99561996d7e90642e4e64e63900 100755 (executable)
@@ -22,3 +22,5 @@ t-commit 'test commit' 3-2
 t-dgit build
 t-dgit push
 t-check-mirrored
+
+t-ok
index 40338356f16c9a7d5dab0abc9d434407c3ceaa6c..c26ba89291e3c0526c47e9e56f5051a97414c49f 100755 (executable)
@@ -23,4 +23,4 @@ t-dgit push --new
 t-check-not-mirrored
 t-files-notexist $reposmirror/$p.*
 
-echo ok.
+t-ok
index b7c53f2397d7bdb5e2261144e94f02525f0ce721..ea0d72434cdf38665da51245500256ce6cb00363 100755 (executable)
@@ -21,4 +21,4 @@ t-dgit build-source
 t-expect-fail 'debian/TRASH' \
 t-dgit push --new
 
-echo ok.
+t-ok
index 9bb554ebc914b0edeb1bb3913f3f5ce491f27249..85c70866ba8c212748c8e1cdee50559f3c949c9b 100755 (executable)
@@ -31,4 +31,4 @@ t-dgit -wgf build-source
 
 t-dgit -wgf push --new
 
-echo ok.
+t-ok
index 0a580be99ace625964419f7daeec80f7d884886c..d39475be0c1ec1999a9e3521c4a9ed8f19062123 100755 (executable)
@@ -54,4 +54,4 @@ multi-good
 
 t-has-parent-or-is HEAD $rcombined
 
-echo ok.
+t-ok
index cb270b268388a989f49fdba7e9d32ab1702901d7..098fe191eac5c6238c4051583dee0b82a1a063ba 100755 (executable)
@@ -21,5 +21,5 @@ for count in 1 2; do
        test-push "newtag $count"
 done
 
-echo ok.
+t-ok
 
index 5617a1e7162d3c740f5edad96aef6916652ba098..a37f9974b230ec85fea266b7f952d73be65888b5 100755 (executable)
@@ -18,4 +18,4 @@ test-push-1 1.1-1.3 '' stable
 t-expect-fail E:'archive contains .* with different checksum' \
 test-push-2 --new
 
-echo done.
+t-ok
index 59fc80f0e8c44c4c1bf72dcf1eb8905e3e0ab036..f8eac5798062a75e685a8f87294e8783bb209fd3 100755 (executable)
@@ -30,4 +30,4 @@ test_push_2_hook=update-files_in_archive
 
 . $troot/lib-orig-include-exclude
 
-echo done.
+t-ok
index 25356a874def17050211af50c389b78e0f21eb23..3544390a83524ca75d3ac528a886548872b33b83 100755 (executable)
@@ -36,4 +36,4 @@ git revert --no-edit 'HEAD^{/Break changelog}'
 
 t-dgit push --overwrite stable
 
-echo done.
+t-ok
index 2f8fd70e1fb67c137f9039bb06b42e8cc93d4f7d..e11d1f828ce78ffb22b80f52f76aa72ada54734b 100755 (executable)
@@ -19,4 +19,4 @@ t-dgit -wgf build
 
 t-dgit push --overwrite=1.2 stable
 
-echo ok.
+t-ok
index 725357d0790f581e5d29285297dd4f1c263de1b8..0ef03f65369b216df446b46a64eadf467ed17ed0 100755 (executable)
@@ -24,4 +24,4 @@ t-dgit --quilt=gbp --dgit-view-save=split.p --overwrite push
 
 t-gbp-pushed-good
 
-echo ok.
+t-ok
index 34ee01476af427c718f228d9d4e864857331db90..34301acd967df1bb59b748f5b04d6a8382e19789 100755 (executable)
@@ -17,4 +17,4 @@ t-dgit push stable
 
 t-dgit push --overwrite=1.2 stable
 
-echo ok.
+t-ok
index 987c081833e4e213e743bc90d490b635631f6109..505d1054b6faa99e6e683dbe0e1fc0f8559c7115 100755 (executable)
@@ -28,4 +28,4 @@ t-dgit --build-products-dir=../bpd push
 
 t-pushed-good dgit/sid
 
-echo ok.
+t-ok
index d0f3f35a40d9927af72afb01fd3aa5c729836046..79355e3e4851014c665d697d0cfde8234b6c56f3 100755 (executable)
@@ -27,4 +27,4 @@ t-dgit push --new
 
 t-pushed-good master
 
-echo ok.
+t-ok
index 8d4a36f7a45ee167300839c2ad75ce03d6689923..d0436ab3bf586faaabc12a3897a620a7e4af97e3 100755 (executable)
@@ -22,4 +22,4 @@ t-dgit push
 
 t-pushed-good dgit/sid
 
-echo ok.
+t-ok
index 0462f1a8bf867cd976c10b19e0ca4c9f8e181516..1a921b3791a3f6716d001e1cc3f1dcf6f9bc0cf6 100755 (executable)
@@ -93,4 +93,4 @@ do
        mv ../this.cmp ../last.cmp
 done
 
-echo ok.
+t-ok
index 38d2489b21bf43d242e06e1119303d3f73e93e25..3ef89e8c65171232e52406c3d39c884076a19628 100755 (executable)
@@ -58,4 +58,4 @@ t-dgit --quilt=gbp --clean=git --dgit-view-save=split.b build-source
 
 test-push-2
 
-echo ok.
+t-ok
index b89c26e2e9fb6f3e23d4037bcabcebf61fd2395b..cd77dab62aaf2be977bc215bc3b8917d295d0497 100755 (executable)
@@ -10,4 +10,4 @@ bm-gbp-example-acts                           \
        'gbp-build -S'                          \
        'gbp-build -b'                          \
 
-echo ok.
+t-ok
index 8da93d355b390521f78467a6edce4bd211671f27..4c86bfe539802ed6a56883afb32b2b7c0eec6eca 100755 (executable)
@@ -9,4 +9,4 @@ t-restrict x-dgit-schroot-build
 bm-gbp-example-acts                            \
        'sbuild -c build --arch-all'            \
 
-echo ok.
+t-ok
index 6a0432923e97af6efd80d2f1b1e90396efa5005c..3b6e228d8d01a5462c5f10a36326d4e21b017d4a 100755 (executable)
@@ -36,4 +36,4 @@ debian-changes
 series
 END
 
-echo ok.
+t-ok
index 112bc39eb0e35623cdf3eb33a81dbb999c041f5c..9f0ae5ff917fca0c7cf69c4931b796f93e2e9042 100755 (executable)
@@ -137,4 +137,4 @@ t-commit dpmish-stable 1.0-6 $suite
 
 want-success dpm --new
 
-echo ok.
+t-ok
index c627788f05600ab3d186c6c5bf7345a597e05d7a..71bbe2b3365aa7db2a68d3edb23eed58f4384a9d 100755 (executable)
@@ -28,4 +28,4 @@ t-dgit --ssh=$troot/ssh rpush somehost:$tmp/$p
 cd $tmp/$p
 t-pushed-good dgit/sid
 
-echo ok.
+t-ok
index 74541b7d60fdf31c05e41aaa875b9d4bed5936dc..ed1290c0d845c034a66aaa15e4b53062ec8c21c5 100755 (executable)
@@ -13,4 +13,4 @@ set -e
 
 test $rc = 1
 
-echo ok.
+t-ok
index 8c6ab0926e895be4418f55cb19b50c9944712e42..824fd1ebd5ab3281a4fe3894b2fa5f04a0992921 100755 (executable)
@@ -34,4 +34,4 @@ t-refs-same-start
 t-ref-same-exact $tagref
 fetch-check
 
-echo done.
+t-ok
index 65812ff9fcb54ee4c841a5d5d60087055b374c60..1e5f19928705e17751a2b2f520ee9b2cb806b03b 100755 (executable)
@@ -7,3 +7,5 @@ set -e
 cd $root
 $troot/enumerate-tests gencontrol >$tmp/control-expected
 diff debian/tests/control $tmp/control-expected
+
+t-ok
index 2039ec6c243db92b40dae0b15d946cb870e0cde8..ad731f5b317229910398f5e6472b48ab872e11ea 100755 (executable)
@@ -82,4 +82,4 @@ t-dgit push
 attempt-replay "does not declare previously tags/$tagpfx/$v"
 
 
-echo ok.
+t-ok
index 5b3e139387aacee13c5bb4af39a0a85f4a444518..0d02c6aac9dc6c0cd30439a8539d2e75385f20b3 100755 (executable)
@@ -49,4 +49,4 @@ badly-2
 start
 attempt
 
-echo ok.
+t-ok
index 93c6a452d7a3d0fa174f0d8ecdea77649780cd22..22c35e7e7a4ef02e071c9f864238ee9defeb5659 100755 (executable)
@@ -29,4 +29,4 @@ done
 
 fgrep 'Update to version 1.1' ../${p}_${v}_source.changes
 
-echo ok.
+t-ok
index a38dfb07d988129f55e6fac03786dced8a121bb8..50baa337ef70f869f9fab5b65f1481b296ba83ee 100644 (file)
Binary files a/tests/worktrees/example_1.0.tar and b/tests/worktrees/example_1.0.tar differ