Validate Task-number capitalization

Change-Id: Ia5ca3a45702c52895f084f7f4bbe57ddb673b5ac
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
catch new format of expanded gerrit change urls

Change-Id: I019707fa3ca050fc9da8fb95b00766f661447223
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
also consider changes in DRAFT state

Change-Id: I729dc9f37f604d7a7ed97ddb7395080b3afa3b3e
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
un-object-orient

object-orientation just adds another layer of obfuscation to perl code,
and really doesn't pay off for such short scripts.

Change-Id: Ibe620839cea9b2cf0b2ff56257e13071535bd3a8
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
factor out add_reviewers

Change-Id: I4d210bd3c896bb5d1cb13b4d38a08bfb317f4150
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
factor out determine_target

Change-Id: Ia6b72ca42e2493842e228269728be46dd2eaf1df
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
beautify the command echoing

properly quote where necessary and space-separate, instead of
comma-separating.

Change-Id: Ibf2e638d92591700c3a26f3402f306f5995552ad
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
add more verbosity to git command invocations

Change-Id: Id49de348f8808a9786616e512636c08eb4d6ef6d
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
ensure that we are operating from the clone's top-level directory

at the moment the primary effect of this is ensuring early that we are,
in fact, inside a git clone.

Change-Id: I265631a0f4a025b09556ccbb9bfd735973d66d78
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
add --draft/-d option

i considered making --draft the default. however, i didn't like the
change of default behavior.

then it occurred to me that automatically detecting WIP subjects like
the sanity bot does would actually fit our current workflow pretty
neatly.
we are looking only at the last commit, as that's likely to be the one
which is WIP. also, in "unbased" push mode, determining the start of the
range to look at would cause quite some overhead.

Change-Id: I70f6f397693f600b6a5d5791f04d9cae12fa8d02
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
fix system() return value handling

Change-Id: I3f12d4ce0653b31ca397167a40303b764bdf7472
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Exclude .xib, .nib, .storyboard, and .storyboardc from tabs check.

These files are only edited in Xcode in practice, which uses tabs.

Change-Id: Id13d2dc6c40955288041aeaee37282d41e9026f3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>