tree a27f1c4c702ba3970aa775550a629b03551be898
parent 4b25d5c02f35263c5aa78e45f35088de48d531fe
author David Pursehouse <dpursehouse@collab.net> 1527125198 +0900
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 1527126272 +0000

Update git submodules

* Update plugins/hooks from branch 'master'
  to d497bed6963134388e7f500364a4ae59b94bafe7
  - Merge branch 'stable-2.15'
    
    * stable-2.15:
      HookQueue: Rename constructor 'queue' argument to avoid confusion
      Add submit hook
      Module: Bind listeners in alphabetical order
      Annotate RefUpdate and CommitReceived as Singleton
      Reword documentation of ref-update and commit-received hooks
      Improve hooks documentation structure
    
    Change-Id: I163ca67fb412b098e0556f4374d54bde65affc00
    
  - Merge branch 'stable-2.14' into stable-2.15
    
    * stable-2.14:
      HookQueue: Rename constructor 'queue' argument to avoid confusion
    
    Change-Id: I7d4911d2a77ce1726ef243a42ec9e54d420cf5ad
    
  - HookQueue: Rename constructor 'queue' argument to avoid confusion
    
    The `queue` argument gets assigned to the `workQueue` member, but
    there is also a `queue` member.
    
    Rename the argument to `workQueue` to match the member that it gets
    assigned to, and prevent possible confusion with the other.
    
    Change-Id: I3fc278e096028f06f0f91b5551e6e435c66fff93
    
  - Merge branch 'stable-2.14' into stable-2.15
    
    * stable-2.14:
      Add submit hook
      Module: Bind listeners in alphabetical order
      Annotate RefUpdate and CommitReceived as Singleton
      Reword documentation of ref-update and commit-received hooks
      Improve hooks documentation structure
    
    Change-Id: I5f5eed398e182c8542b4b53722d942fb2b6bde5a
    
  - Add submit hook
    
    The submit hook is invoked synchronously when a change is submitted. If
    it returns a non-zero exit status, a MergeValidationException is thrown
    and the submit is prevented.
    
    This adds back the ability to block submit by a hook. Previously this
    was possible with the ref-update hook until its purpose was changed and
    only invoked on ref updates such as branch creation, deletion, or fast-
    forward by direct push.
    
    Change-Id: Ie4efb90df645ecac01638b23305dc2ffb547192e
    
  - Module: Bind listeners in alphabetical order
    
    Most of them are already in alphabetical order. Reorder the couple that
    aren't.
    
    Change-Id: I0722c357992bf855baa0a9b8997078036f28cdc8
    
  - Annotate RefUpdate and CommitReceived as Singleton
    
    These should be singletons so that they are not instantiated every
    time a hook is executed.
    
    Change-Id: I32e67a85c24138148c1cff97d76144030942930e
    
  - Reword documentation of ref-update and commit-received hooks
    
    There has been confusion about the purpose of these hooks. Rewrite
    the documentation to hopefully make it clearer.
    
    Change-Id: I86c80072d2d9f05c9d926f0a6a5014590af45b05
    
  - Improve hooks documentation structure
    
    Split synchronous and asyncronous hooks into separate sections, and move
    the duplicated paragraphs about syncronous hook behavior into the top
    of the syncronous hooks section.
    
    Replace legacy section heading formatting (===== and ----- forms), which
    only supports 2 levels, with newer formatting (starting the line with one
    or more # marks) which supports further levels.
    
    Add a table of contents.
    
    Change-Id: Iacf7c44860ec4d77e44c9816fc04ea641a2c8b43
    