chiark / gitweb /
dgit.git
8 years agoTest suite: set -o pipefail, in lib
Ian Jackson [Sun, 31 May 2015 16:37:33 +0000 (17:37 +0100)]
Test suite: set -o pipefail, in lib

8 years agoTest suite: Prepare for pipefail in t-git-get-ref
Ian Jackson [Sun, 7 Jun 2015 12:43:15 +0000 (13:43 +0100)]
Test suite: Prepare for pipefail in t-git-get-ref

8 years agoTest suite: Prepare for pipefail in t-apply-diff
Ian Jackson [Sun, 7 Jun 2015 12:42:50 +0000 (13:42 +0100)]
Test suite: Prepare for pipefail in t-apply-diff

8 years agoTest suite: t-git-get-ref: check that argument starts with ref/
Ian Jackson [Sun, 7 Jun 2015 11:17:22 +0000 (12:17 +0100)]
Test suite: t-git-get-ref: check that argument starts with ref/

8 years agoTest suite: Fix call to t-refs-notexist to have refs/
Ian Jackson [Sun, 7 Jun 2015 11:12:31 +0000 (12:12 +0100)]
Test suite: Fix call to t-refs-notexist to have refs/

8 years agoTest suite: Fully test replay attack prevention
Ian Jackson [Sun, 31 May 2015 16:28:31 +0000 (17:28 +0100)]
Test suite: Fully test replay attack prevention

8 years agoTest suite: Make it possible to call t-policy more than once (moving t-dsd out of it)
Ian Jackson [Sun, 31 May 2015 17:31:22 +0000 (18:31 +0100)]
Test suite: Make it possible to call t-policy more than once (moving t-dsd out of it)

8 years agoInfra: dgit-repos-server; In NOFFCHECK but not FRESHREPO case, do not request wrong...
Ian Jackson [Sun, 31 May 2015 17:30:40 +0000 (18:30 +0100)]
Infra: dgit-repos-server; In NOFFCHECK but not FRESHREPO case, do not request wrong ref name

8 years agodgit: Gate sending "previously" on deliberately_not_fast_forward not $forceflag
Ian Jackson [Sun, 31 May 2015 16:45:28 +0000 (17:45 +0100)]
dgit: Gate sending "previously" on deliberately_not_fast_forward not $forceflag

$forceflag will only be set if we actually think the ref is not fast
forwarding.  But the --deliberately flags may cause a repo reset which
will require us to mention the previous state, even if the push
appears to be ff.

8 years agoPush replay prevention protocol: Rename "supersedes" to "previously", as not necessar...
Ian Jackson [Sun, 31 May 2015 16:04:44 +0000 (17:04 +0100)]
Push replay prevention protocol: Rename "supersedes" to "previously", as not necessarily actually superseded

8 years agoTest suite: add some replay prevention tests
Ian Jackson [Sun, 31 May 2015 14:37:30 +0000 (15:37 +0100)]
Test suite: add some replay prevention tests

8 years agoInfra: Document dgit-repos-policy-trusting a bit
Ian Jackson [Sun, 31 May 2015 14:36:16 +0000 (15:36 +0100)]
Infra: Document dgit-repos-policy-trusting a bit

8 years agoInfra: Add dgit-repos-policy-trusting
Ian Jackson [Sun, 31 May 2015 14:36:04 +0000 (15:36 +0100)]
Infra: Add dgit-repos-policy-trusting

Also add the --deliberately-fresh-repo deliberately, both to the
manpage and to dgit's idea of non-fast-forward-ness.

Rename the dgit test only deliberatelies to start with TEST-dgit-only-
rather than having the -dgit-only at the end.

8 years agoTest suite: move t-commit and break out t-policy (nfc)
Ian Jackson [Sun, 31 May 2015 14:33:46 +0000 (15:33 +0100)]
Test suite: move t-commit and break out t-policy (nfc)

8 years agoInfra: Allow FRESHREPO to override "tag already exists"
Ian Jackson [Sun, 31 May 2015 14:32:43 +0000 (15:32 +0100)]
Infra: Allow FRESHREPO to override "tag already exists"

drs-push-rejects test needs updating too.

8 years agoInfra: dgit-repos-server: Fix some typos in debug messages
Ian Jackson [Sun, 31 May 2015 14:32:12 +0000 (15:32 +0100)]
Infra: dgit-repos-server: Fix some typos in debug messages

8 years agoInfra: Make replay prevention file contain tags (by searching for right ref names)
Ian Jackson [Sun, 31 May 2015 14:31:53 +0000 (15:31 +0100)]
Infra: Make replay prevention file contain tags (by searching for right ref names)

8 years agoInfra: document DELIBERATELIES parameter to policy hook
Ian Jackson [Sun, 31 May 2015 14:31:18 +0000 (15:31 +0100)]
Infra: document DELIBERATELIES parameter to policy hook

8 years agoTest suite: Provide t-rm-dput-dropping
Ian Jackson [Sat, 16 May 2015 23:57:56 +0000 (00:57 +0100)]
Test suite: Provide t-rm-dput-dropping

This is needed if tests reuse versions, which we are perhaps going to
have to do to test out the replay prevention.

8 years agoTest suite: finalise replay prevention
Ian Jackson [Thu, 21 May 2015 06:43:38 +0000 (07:43 +0100)]
Test suite: finalise replay prevention

8 years agoinfra: Finish replay prevention
Ian Jackson [Sun, 31 May 2015 10:49:42 +0000 (11:49 +0100)]
infra: Finish replay prevention

8 years agoDgit.pm: git_for_each_ref: Provide optional $git_dir argument
Ian Jackson [Sun, 31 May 2015 10:47:18 +0000 (11:47 +0100)]
Dgit.pm: git_for_each_ref: Provide optional $git_dir argument

8 years agoInfra: New approach to reply prevention hhen NOFFCHECK, involving removed tags file
Ian Jackson [Wed, 27 May 2015 20:39:07 +0000 (21:39 +0100)]
Infra: New approach to reply prevention hhen NOFFCHECK, involving removed tags file

8 years agodgit: Declare a "supersedes" in the signed tag for all previous refs/heads and refs...
Ian Jackson [Wed, 27 May 2015 20:36:15 +0000 (21:36 +0100)]
dgit: Declare a "supersedes" in the signed tag for all previous refs/heads and refs/tags in the repo, when deliberately_not_fast_forward

8 years agodgit: Break out deliberately_not_fast_forward (nfc)
Ian Jackson [Wed, 27 May 2015 20:35:15 +0000 (21:35 +0100)]
dgit: Break out deliberately_not_fast_forward (nfc)

8 years agodgit-repos-policy-debian: better debugging for tainted object checking
Ian Jackson [Wed, 27 May 2015 20:33:17 +0000 (21:33 +0100)]
dgit-repos-policy-debian: better debugging for tainted object checking

8 years agoNew approach to replay prevention - WIP
Ian Jackson [Thu, 21 May 2015 09:12:23 +0000 (10:12 +0100)]
New approach to replay prevention - WIP

8 years agoNew approach to replay prevention - WIP
Ian Jackson [Sun, 31 May 2015 11:15:45 +0000 (12:15 +0100)]
New approach to replay prevention - WIP

8 years agoTest suite: Abstract t-tstunt-parsechangelog
Ian Jackson [Sat, 30 May 2015 12:52:43 +0000 (13:52 +0100)]
Test suite: Abstract t-tstunt-parsechangelog

8 years agoTest suite: Use stunt Dpkg::Changelog::Parse
Ian Jackson [Sat, 30 May 2015 12:50:54 +0000 (13:50 +0100)]
Test suite: Use stunt Dpkg::Changelog::Parse

This saves a further 13s.  Overalll the stunt changelog machinery
saves 28s out of 100s (in my example case, the current
debpolicy-newreject).

8 years agoTest suite: Allow for t-stunt to override Perl modules
Ian Jackson [Sat, 30 May 2015 12:50:36 +0000 (13:50 +0100)]
Test suite: Allow for t-stunt to override Perl modules

8 years agoTest suite: Use stunt dpkg-parsechangelog
Ian Jackson [Sat, 30 May 2015 12:28:21 +0000 (13:28 +0100)]
Test suite: Use stunt dpkg-parsechangelog

This program takes 16ms instead of ~700ms on my computer.  This saves
15s out of 100s for the debpolicy-newreject test (in its current
state).

Currently this is only used by various things in devscripts because
dpkg-source uses /usr/lib/dpkg/parsechangelog/debian directly via a
Perl module Dpkg::Changelog::Parse.

8 years agoTest suite: Provide new t-stunt facility
Ian Jackson [Sat, 30 May 2015 12:27:45 +0000 (13:27 +0100)]
Test suite: Provide new t-stunt facility

8 years agopolicy: Improve taint message recorded in db by --deliberately-not-fast-forward
Ian Jackson [Wed, 27 May 2015 20:32:30 +0000 (21:32 +0100)]
policy: Improve taint message recorded in db by --deliberately-not-fast-forward

8 years agogit_get_ref: Move to Dgit.pm and reimplement
Ian Jackson [Wed, 27 May 2015 20:28:39 +0000 (21:28 +0100)]
git_get_ref: Move to Dgit.pm and reimplement

Use
  git for-each-ref --format=%(objectname) [r]efs/whatever

This pattern won't match literally as a prefix because a ref name
cannot contain [, so it must match according to fnmatch.  whatever
cannot contain fnmatch metacharacters because they're not valid in ref
names.

This is a better idiom because it might directly look up the ref in
question (although currently it probably doesn't).

8 years agoDgit.pm: git_for_each_ref: do not insist that first component after refs/ matches \w+
Ian Jackson [Wed, 27 May 2015 20:28:05 +0000 (21:28 +0100)]
Dgit.pm: git_for_each_ref: do not insist that first component after refs/ matches \w+

8 years agoBreak out ensuredir and make mkrepotmp use it
Ian Jackson [Wed, 27 May 2015 20:24:04 +0000 (21:24 +0100)]
Break out ensuredir and make mkrepotmp use it

8 years agoDgit.pm: git_for_each_tag_referring provides referred-to object id too
Ian Jackson [Sun, 31 May 2015 10:59:48 +0000 (11:59 +0100)]
Dgit.pm: git_for_each_tag_referring provides referred-to object id too

8 years agoMove is_fast_fwd into Dgit.pm
Ian Jackson [Thu, 21 May 2015 06:40:46 +0000 (07:40 +0100)]
Move is_fast_fwd into Dgit.pm

8 years agoMove git_rev_parse into Dgit.pm (renaming it from rev_parse
Ian Jackson [Sun, 17 May 2015 13:45:39 +0000 (14:45 +0100)]
Move git_rev_parse into Dgit.pm (renaming it from rev_parse

8 years agoMove various useful functions into Dgit.pm. Necessitates some slightly fancy footwor...
Ian Jackson [Sun, 17 May 2015 13:45:04 +0000 (14:45 +0100)]
Move various useful functions into Dgit.pm.  Necessitates some slightly fancy footwork with $::us

8 years agoDgit.pm: Move debugging earlier in file (pure code motion)
Ian Jackson [Sun, 17 May 2015 13:42:40 +0000 (14:42 +0100)]
Dgit.pm: Move debugging earlier in file (pure code motion)

8 years agoTests: debpolicy-newreject: Attempt push while still in new
Ian Jackson [Sun, 17 May 2015 13:24:39 +0000 (14:24 +0100)]
Tests: debpolicy-newreject: Attempt push while still in new

8 years agoTests: Introduce t-set-using-tmp and use it in lib and adhoc
Ian Jackson [Sun, 17 May 2015 13:17:37 +0000 (14:17 +0100)]
Tests: Introduce t-set-using-tmp and use it in lib and adhoc

8 years agodgit: Allow --deliberately-not-fast-forward to override dgit's fast forward check
Ian Jackson [Sun, 17 May 2015 13:16:23 +0000 (14:16 +0100)]
dgit: Allow --deliberately-not-fast-forward to override dgit's fast forward check

8 years agoCheck for deliberatelies correctly (in-memory data structures have full name)
Ian Jackson [Sun, 17 May 2015 13:15:34 +0000 (14:15 +0100)]
Check for deliberatelies correctly (in-memory data structures have full name)

8 years agoDgit.pm: Fix next's in git_for_each_tag_referring which should be returns
Ian Jackson [Sun, 17 May 2015 13:14:52 +0000 (14:14 +0100)]
Dgit.pm: Fix next's in git_for_each_tag_referring which should be returns

8 years agoDgit.pm: Add debugging to git_for_each_...
Ian Jackson [Sun, 17 May 2015 13:14:32 +0000 (14:14 +0100)]
Dgit.pm: Add debugging to git_for_each_...

8 years agoInfra: Exit statuses: work around bizarre behaviour of perl die wrt $?, and de-reserv...
Ian Jackson [Sun, 17 May 2015 13:13:25 +0000 (14:13 +0100)]
Infra: Exit statuses: work around bizarre behaviour of perl die wrt $?, and de-reserve policy hook status flag 0x80

8 years agoDgit.pm: Introduce $deliberately_re and use it everywhere
Ian Jackson [Sun, 17 May 2015 13:11:43 +0000 (14:11 +0100)]
Dgit.pm: Introduce $deliberately_re and use it everywhere

8 years agoDgit.pm: export git_for_each_tag_referring
Ian Jackson [Sun, 17 May 2015 13:09:11 +0000 (14:09 +0100)]
Dgit.pm: export git_for_each_tag_referring

8 years agoTests: debpolicy-newreject: Make and use a tag at the start
Ian Jackson [Sun, 17 May 2015 09:59:28 +0000 (10:59 +0100)]
Tests: debpolicy-newreject: Make and use a tag at the start

8 years agoTests: Debian policy: check incoming processing and subsequent cron
Ian Jackson [Sun, 17 May 2015 00:12:19 +0000 (01:12 +0100)]
Tests: Debian policy: check incoming processing and subsequent cron

8 years agoInfra: in dgit-repos-policy-debian, fix history tagg lookup
Ian Jackson [Sun, 17 May 2015 00:11:59 +0000 (01:11 +0100)]
Infra: in dgit-repos-policy-debian, fix history tagg lookup

8 years agoInfra: in dgit-repos-policy-debian, pass dgit api-query query specs with no leading /
Ian Jackson [Sun, 17 May 2015 00:11:39 +0000 (01:11 +0100)]
Infra: in dgit-repos-policy-debian, pass dgit api-query query specs with no leading /

8 years agoTests: debpolicy-newreject: Make each tree a new version (with dch and debcommit)
Ian Jackson [Sat, 16 May 2015 23:58:51 +0000 (00:58 +0100)]
Tests: debpolicy-newreject: Make each tree a new version (with dch and debcommit)

8 years agoTests: Make some t-archive* functions take a suite
Ian Jackson [Sat, 16 May 2015 23:46:32 +0000 (00:46 +0100)]
Tests: Make some t-archive* functions take a suite

8 years agoTests: debpolicy-newreject: Explicitly check the state of the repo after each operation
Ian Jackson [Sat, 16 May 2015 23:30:46 +0000 (00:30 +0100)]
Tests: debpolicy-newreject: Explicitly check the state of the repo after each operation

8 years agoTests: break out t-git-dir-time-passes
Ian Jackson [Sat, 16 May 2015 23:29:54 +0000 (00:29 +0100)]
Tests: break out t-git-dir-time-passes

8 years agoTests: Check that --deliberately-include-questionable-history actually works
Ian Jackson [Sat, 16 May 2015 23:10:58 +0000 (00:10 +0100)]
Tests: Check that --deliberately-include-questionable-history actually works

8 years agoTests: Fix a typo
Ian Jackson [Sat, 16 May 2015 23:10:41 +0000 (00:10 +0100)]
Tests: Fix a typo

8 years agoInfra: in dgit-repos-server, produce less verbose message when policy hook rejects
Ian Jackson [Sat, 16 May 2015 23:10:33 +0000 (00:10 +0100)]
Infra: in dgit-repos-server, produce less verbose message when policy hook rejects

8 years agoInfra: in dgit-repos-policy-debian actually call getpushinfo
Ian Jackson [Sat, 16 May 2015 23:10:11 +0000 (00:10 +0100)]
Infra: in dgit-repos-policy-debian actually call getpushinfo

8 years agoInfra: Put correct value into taintoverrides for questionable history; document the...
Ian Jackson [Sat, 16 May 2015 23:09:44 +0000 (00:09 +0100)]
Infra: Put correct value into taintoverrides for questionable history; document the field contents in a comment

8 years agoTests: Test rejection of removed NEW package
Ian Jackson [Wed, 13 May 2015 17:27:41 +0000 (18:27 +0100)]
Tests: Test rejection of removed NEW package

8 years agoTests: Exercise policy periodic hook
Ian Jackson [Sun, 3 May 2015 10:31:58 +0000 (11:31 +0100)]
Tests: Exercise policy periodic hook

8 years agoTests: Provide minimal test package (which is much faster), and use it in debpolicy...
Ian Jackson [Sat, 16 May 2015 22:28:25 +0000 (23:28 +0100)]
Tests: Provide minimal test package (which is much faster), and use it in debpolicy-newreject

8 years agodgit-repos-policy-debian: Fix taint overrides sql (and print it out for debugging)
Ian Jackson [Sat, 16 May 2015 22:23:37 +0000 (23:23 +0100)]
dgit-repos-policy-debian: Fix taint overrides sql (and print it out for debugging)

8 years agoTests: t-prep-newpackage: Cope with source git which has a master already
Ian Jackson [Sat, 16 May 2015 22:22:55 +0000 (23:22 +0100)]
Tests: t-prep-newpackage: Cope with source git which has a master already

8 years agoTests: t-prep-newpackage: don't brokenly set v=3-1
Ian Jackson [Sat, 16 May 2015 22:22:33 +0000 (23:22 +0100)]
Tests: t-prep-newpackage: don't brokenly set v=3-1

8 years agodgit-repos-server: Remove obsolete duplicate settings of some ENVs for stunt hook
Ian Jackson [Mon, 11 May 2015 08:35:40 +0000 (09:35 +0100)]
dgit-repos-server: Remove obsolete duplicate settings of some ENVs for stunt hook

8 years agoInfra: pass $distrodir to policy hook (as yet unused, intended for config)
Ian Jackson [Mon, 11 May 2015 08:35:16 +0000 (09:35 +0100)]
Infra: pass $distrodir to policy hook (as yet unused, intended for config)

8 years agodgit-repos-policy-debian: Fix new repo checks
Ian Jackson [Mon, 11 May 2015 08:21:12 +0000 (09:21 +0100)]
dgit-repos-policy-debian: Fix new repo checks

8 years agodgit-repos-policy-debian: Move time check (nfc, apart from debugging)
Ian Jackson [Mon, 11 May 2015 08:06:12 +0000 (09:06 +0100)]
dgit-repos-policy-debian: Move time check (nfc, apart from debugging)

8 years agodgit-repos-server: Debug when we movetogarbage
Ian Jackson [Mon, 11 May 2015 07:58:06 +0000 (08:58 +0100)]
dgit-repos-server: Debug when we movetogarbage

8 years agodgit-repos-policy-debian: Fix add_taint
Ian Jackson [Mon, 11 May 2015 07:57:52 +0000 (08:57 +0100)]
dgit-repos-policy-debian: Fix add_taint

8 years agogit_for_each_ref: Fix FH handling
Ian Jackson [Mon, 11 May 2015 07:57:33 +0000 (08:57 +0100)]
git_for_each_ref: Fix FH handling

8 years agodgit-repos-policy-debian: Fix error handling, and test fixes
Ian Jackson [Mon, 11 May 2015 06:59:00 +0000 (07:59 +0100)]
dgit-repos-policy-debian: Fix error handling, and test fixes

8 years agodgit-repos-policy-debian: Fix check-list printing
Ian Jackson [Mon, 4 May 2015 16:50:55 +0000 (17:50 +0100)]
dgit-repos-policy-debian: Fix check-list printing

8 years agodgit: Print curl command for archive api query action
Ian Jackson [Mon, 4 May 2015 16:50:36 +0000 (17:50 +0100)]
dgit: Print curl command for archive api query action

8 years agodgit-repos-policy-debian: WIP bugfixes to debugging
Ian Jackson [Mon, 4 May 2015 16:42:44 +0000 (17:42 +0100)]
dgit-repos-policy-debian: WIP bugfixes to debugging

8 years agodgit-repos-policy-debian: WIP bugfixes to debugging
Ian Jackson [Mon, 4 May 2015 16:35:40 +0000 (17:35 +0100)]
dgit-repos-policy-debian: WIP bugfixes to debugging

8 years agoShow git config queries only with debuglevel 3 (-DDD) and higher.
Ian Jackson [Mon, 4 May 2015 16:35:21 +0000 (17:35 +0100)]
Show git config queries only with debuglevel 3 (-DDD) and higher.

8 years agodgit-repos-policy-debian: Fix mode calculation
Ian Jackson [Mon, 4 May 2015 16:23:37 +0000 (17:23 +0100)]
dgit-repos-policy-debian: Fix mode calculation

8 years agoTests: New tests/adhoc helper; document tests/using-intree too
Ian Jackson [Sun, 3 May 2015 11:02:42 +0000 (12:02 +0100)]
Tests: New tests/adhoc helper; document tests/using-intree too

8 years agoTests: break out some things into lib-core (nfc)
Ian Jackson [Sun, 3 May 2015 11:02:09 +0000 (12:02 +0100)]
Tests: break out some things into lib-core (nfc)

8 years agodgit-repos-server: Small debugging output improvement
Ian Jackson [Sun, 3 May 2015 10:31:25 +0000 (11:31 +0100)]
dgit-repos-server: Small debugging output improvement

8 years agodgit-repos-policy-debian: WIP bugfixes etc.
Ian Jackson [Sun, 3 May 2015 10:30:26 +0000 (11:30 +0100)]
dgit-repos-policy-debian: WIP bugfixes etc.

8 years agodgit-repos-policy-debian: WIP bugfixes
Ian Jackson [Sat, 2 May 2015 19:43:12 +0000 (20:43 +0100)]
dgit-repos-policy-debian: WIP bugfixes

8 years agoDiagnostics: Make shellquote() print empty arguments as ''
Ian Jackson [Sat, 2 May 2015 19:42:45 +0000 (20:42 +0100)]
Diagnostics: Make shellquote() print empty arguments as ''

8 years agodgit-repos-policy-debian: Add debugging output
Ian Jackson [Sat, 2 May 2015 19:33:10 +0000 (20:33 +0100)]
dgit-repos-policy-debian: Add debugging output

8 years agodgit-repos-server: Use shellquote() where appropriate in diagnostics
Ian Jackson [Sat, 2 May 2015 19:10:03 +0000 (20:10 +0100)]
dgit-repos-server: Use shellquote() where appropriate in diagnostics

8 years agoDebugging: Use Dgit.pm's facilities in dgit-repos-server
Ian Jackson [Sat, 2 May 2015 19:06:48 +0000 (20:06 +0100)]
Debugging: Use Dgit.pm's facilities in dgit-repos-server

8 years agoDebugging: use typeglobs to simplify various things (nfc)
Ian Jackson [Sat, 2 May 2015 18:56:08 +0000 (19:56 +0100)]
Debugging: use typeglobs to simplify various things (nfc)

8 years agoRename $debug variable to $debuglevel (nfc)
Ian Jackson [Sat, 2 May 2015 18:28:54 +0000 (19:28 +0100)]
Rename $debug variable to $debuglevel (nfc)

8 years agoMove a $debug check into printdebug (nfc)
Ian Jackson [Sat, 2 May 2015 18:27:06 +0000 (19:27 +0100)]
Move a $debug check into printdebug (nfc)

8 years agoDebugging output: Break out debugcmd into Dgit.pm and use it everywhere (nfc)
Ian Jackson [Sat, 2 May 2015 17:58:54 +0000 (18:58 +0100)]
Debugging output: Break out debugcmd into Dgit.pm and use it everywhere (nfc)

8 years agoMove dgit's debugging arrangements into Dgit.pm
Ian Jackson [Sat, 2 May 2015 17:43:02 +0000 (18:43 +0100)]
Move dgit's debugging arrangements into Dgit.pm

8 years agoTests: in drs-git-ext do not pass policy hook argument explicitly - dispatch dir...
Ian Jackson [Sat, 2 May 2015 16:47:58 +0000 (17:47 +0100)]
Tests: in drs-git-ext do not pass policy hook argument explicitly - dispatch dir version is fine

8 years agoTests: Use distro= dir for drs as well as dsd tests; rename the variable; move the...
Ian Jackson [Sat, 2 May 2015 17:25:23 +0000 (18:25 +0100)]
Tests: Use distro= dir for drs as well as dsd tests; rename the variable; move the directory out of dispatch-dir/