lts-release-mail.py: Add --url and --branch params

--url is mostly for testing (e.g. Jenkins sandboxing), --branch (actually,
prefix) is to make --latest work across multiple LTS branches.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
Change-Id: I83d8da2c1c0b1de7ded7e8d15634a8ce353364d7
diff --git a/lts/lts-release-mail.py b/lts/lts-release-mail.py
index 6216ff5..36a64bc 100755
--- a/lts/lts-release-mail.py
+++ b/lts/lts-release-mail.py
@@ -6,6 +6,7 @@
 import subprocess
 
 
+DEFAULT_URL = "https://review.trustedfirmware.org/TF-A/trusted-firmware-a"
 WORKDIR = "trusted-firmware-a"
 
 SKIP_PATTERNS = [
@@ -28,7 +29,9 @@
 
 def main():
     argp = argparse.ArgumentParser(description="Prepare TF-A LTS release email content")
-    argp.add_argument("--latest", action="store_true", help="use latest release tag")
+    argp.add_argument("-u", "--url", default=DEFAULT_URL, help="repository URL (default: %(default)s)")
+    argp.add_argument("-b", "--branch", default="", help="repository branch for --latest option")
+    argp.add_argument("--latest", action="store_true", help="use latest release tag on --branch")
     argp.add_argument("release_tag", nargs="?", help="release tag")
     args = argp.parse_args()
     if not args.release_tag and not args.latest:
@@ -38,7 +41,7 @@
         mail_template = f.read()
 
     if not os.path.exists(WORKDIR):
-        run("git clone https://review.trustedfirmware.org/TF-A/trusted-firmware-a %s" % WORKDIR)
+        run("git clone %s %s" % (args.url, WORKDIR))
         os.chdir(WORKDIR)
     else:
         os.chdir(WORKDIR)
@@ -49,6 +52,8 @@
         for l in os.popen("git tag"):
             if not re.match(r"lts-v\d+\.\d+\.\d+", l):
                 continue
+            if not l.startswith(args.branch):
+                continue
             l = l.rstrip()
             comps = [maybe_int(x) for x in l.split(".")]
             comps.append(l)