chiark / gitweb /
dgit.git
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/

8 years agoFix changelog bug ref for #770710
Ian Jackson [Sat, 2 May 2015 17:24:35 +0000 (18:24 +0100)]
Fix changelog bug ref for #770710

8 years agoInfra: add some more debugging
Ian Jackson [Sat, 2 May 2015 16:47:04 +0000 (17:47 +0100)]
Infra: add some more debugging

8 years agoImplement cron mode for dgit-repos-server and corresponding code in dgit-repos-policy...
Ian Jackson [Sat, 2 May 2015 16:46:31 +0000 (17:46 +0100)]
Implement cron mode for dgit-repos-server and corresponding code in dgit-repos-policy-debian

8 years agodgit-repos-server: Break out policy_checkpackage() (nfc)
Ian Jackson [Sat, 2 May 2015 16:45:12 +0000 (17:45 +0100)]
dgit-repos-server: Break out policy_checkpackage() (nfc)

8 years agoPolicy hook sets mode of NEW repos (and policy protocol passes new repo pathname...
Ian Jackson [Sat, 2 May 2015 16:44:11 +0000 (17:44 +0100)]
Policy hook sets mode of NEW repos (and policy protocol passes new repo pathname for this purpose)

8 years agodgit-repos-policy-debian: Break out statpackage (nfc)
Ian Jackson [Sat, 2 May 2015 16:02:43 +0000 (17:02 +0100)]
dgit-repos-policy-debian: Break out statpackage (nfc)

8 years agoDGIT_TEST_DEBUG: Improve plumbing and honour in policy hook. Also honour $dgitlive
Ian Jackson [Sat, 2 May 2015 16:02:07 +0000 (17:02 +0100)]
DGIT_TEST_DEBUG: Improve plumbing and honour in policy hook.  Also honour $dgitlive

8 years agoPolicy hook protocol: define bits in hex (nfc)
Ian Jackson [Sat, 2 May 2015 15:52:35 +0000 (16:52 +0100)]
Policy hook protocol: define bits in hex (nfc)

8 years agoPolicy hook protocol: pass dgit live directory (nfc)
Ian Jackson [Sat, 2 May 2015 15:52:09 +0000 (16:52 +0100)]
Policy hook protocol: pass dgit live directory (nfc)

8 years agoTurn all perl warnings into errors
Ian Jackson [Tue, 28 Apr 2015 12:06:02 +0000 (13:06 +0100)]
Turn all perl warnings into errors

8 years agoAbolish $realdestrepo variable and replace with function.
Ian Jackson [Tue, 28 Apr 2015 12:26:54 +0000 (13:26 +0100)]
Abolish $realdestrepo variable and replace with function.

Fixes a use-before-set of $realdestrepo

8 years agoFix undef warning in Vcs-Git handling
Ian Jackson [Tue, 28 Apr 2015 12:26:14 +0000 (13:26 +0100)]
Fix undef warning in Vcs-Git handling

8 years agodgit-repos-server: Check that no args follow --ssh
Ian Jackson [Tue, 28 Apr 2015 10:02:35 +0000 (11:02 +0100)]
dgit-repos-server: Check that no args follow --ssh

8 years agodgit-repos-server: Break out mode_ssh and generalise --ssh option (nfc)
Ian Jackson [Tue, 28 Apr 2015 09:48:24 +0000 (10:48 +0100)]
dgit-repos-server: Break out mode_ssh and generalise --ssh option (nfc)

8 years agodgit-repos-server etc.: Rework argument & distros-dir passing (no overall functional...
Ian Jackson [Thu, 23 Apr 2015 14:03:29 +0000 (15:03 +0100)]
dgit-repos-server etc.: Rework argument & distros-dir passing (no overall functional change)

8 years agodgit-repos-server: Set internal $suitesfile and $keyrings as well as just env vars.
Ian Jackson [Thu, 23 Apr 2015 12:18:41 +0000 (13:18 +0100)]
dgit-repos-server: Set internal $suitesfile and $keyrings as well as just env vars.

8 years agodgit-repos-server: Document forthcoming --cron option
Ian Jackson [Thu, 23 Apr 2015 12:18:18 +0000 (13:18 +0100)]
dgit-repos-server: Document forthcoming --cron option

8 years agoTest suite: start work on test of policy machinery
Ian Jackson [Sun, 19 Apr 2015 21:51:33 +0000 (22:51 +0100)]
Test suite: start work on test of policy machinery

8 years agodgit-repos-policy-debian: Many bugfixes
Ian Jackson [Sun, 19 Apr 2015 21:50:44 +0000 (22:50 +0100)]
dgit-repos-policy-debian: Many bugfixes

8 years agodgit-repos-server: Pass $dgitrepos properly to stunt hook (and hence to policy hook)
Ian Jackson [Sun, 19 Apr 2015 21:49:48 +0000 (22:49 +0100)]
dgit-repos-server: Pass $dgitrepos properly to stunt hook (and hence to policy hook)

8 years agoTest suite: break out t-expect-fail
Ian Jackson [Sun, 19 Apr 2015 21:49:14 +0000 (22:49 +0100)]
Test suite: break out t-expect-fail

8 years agoNew policy admin script
Ian Jackson [Sun, 19 Apr 2015 20:26:47 +0000 (21:26 +0100)]
New policy admin script