scripts: ci: guideline_check: support other repos

Support running this check against other repositories.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
diff --git a/scripts/ci/guideline_check.py b/scripts/ci/guideline_check.py
index 0d4266e..57c878f 100755
--- a/scripts/ci/guideline_check.py
+++ b/scripts/ci/guideline_check.py
@@ -11,13 +11,6 @@
 if "ZEPHYR_BASE" not in os.environ:
     exit("$ZEPHYR_BASE environment variable undefined.")
 
-repository_path = os.environ['ZEPHYR_BASE']
-
-sh_special_args = {
-    '_tty_out': False,
-    '_cwd': repository_path
-}
-
 coccinelle_scripts = ["/scripts/coccinelle/reserved_names.cocci",
                       "/scripts/coccinelle/same_identifier.cocci",
                       #"/scripts/coccinelle/identifier_length.cocci",
@@ -38,7 +31,9 @@
 
 def parse_args():
     parser = argparse.ArgumentParser(
-        description="Check if change requires full twister", allow_abbrev=False)
+        description="Check commits against Cocccinelle rules", allow_abbrev=False)
+    parser.add_argument('-r', "--repository", required=False,
+                        help="Path to repository")
     parser.add_argument('-c', '--commits', default=None,
                         help="Commit range in the form: a..b")
     parser.add_argument("-o", "--output", required=False,
@@ -51,6 +46,16 @@
     if not args.commits:
         exit("missing commit range")
 
+    if args.repository is None:
+        repository_path = os.environ['ZEPHYR_BASE']
+    else:
+        repository_path = args.repository
+
+    sh_special_args = {
+        '_tty_out': False,
+        '_cwd': repository_path
+    }
+
     # pylint does not like the 'sh' library
     # pylint: disable=too-many-function-args,unexpected-keyword-arg
     commit = sh.git("diff", args.commits, **sh_special_args)