= gerrit test-submit type

== NAME
gerrit test-submit type - Test prolog submit type with a chosen change.

== SYNOPSIS
[verse]
--
_ssh_ -p <port> <host> _gerrit test-submit_ type
  [-s]
  [--no-filters]
  CHANGE
--

== DESCRIPTION
Provides a way to test prolog submit type.

== OPTIONS
-s::
	Reads a rules.pl file from stdin instead of rules.pl in refs/meta/config.

--no-filters::
	Don't run the submit_type_filter/2 from the parent projects of the specified change.

== ACCESS
Can be used by anyone that has permission to read the specified change.

== EXAMPLES

Test submit_type from stdin and return the submit type.
----
 cat rules.pl | ssh -p 29418 review.example.com gerrit test-submit type -s I78f2c6673db24e4e92ed32f604c960dc952437d9
 "MERGE_IF_NECESSARY"
----

Test the active submit_type from the refs/meta/config branch, ignoring filters in the project parents.
----
 $ ssh -p 29418 review.example.com gerrit test-submit type I78f2c6673db24e4e92ed32f604c960dc952437d9 --no-filters
 "MERGE_IF_NECESSARY"
----

== SCRIPTING
Can be used either interactively for testing new prolog submit type, or from a script to check the submit type of a change.

GERRIT
------
Part of link:index.html[Gerrit Code Review]

SEARCHBOX
---------
