git-mr-merge: check for base and subject
authorFrantisek Hrbata <frantisek@hrbata.com>
Fri, 18 Dec 2020 14:50:01 +0000 (15:50 +0100)
committerFrantisek Hrbata <frantisek@hrbata.com>
Fri, 18 Dec 2020 14:50:01 +0000 (15:50 +0100)
Signed-off-by: Frantisek Hrbata <frantisek@hrbata.com>
git-mr-merge

index 5de79dc7f0b03f627fcc79fcc41cfd11fb0a17a1..4d45b61c4e9ddb626a125c6d50a9de3fefe867e1 100755 (executable)
@@ -17,7 +17,7 @@ import mrlib
 import tempfile
 
 parser = argparse.ArgumentParser(description="Merge MR to current branch.")
-parser.add_argument("mr", metavar="REV",
+parser.add_argument("mr", metavar="MR",
         help="MR revision which should be merged.")
 parser.add_argument("-f", "--force", action="store_true",
         help="Proceed with the merge even if the MR base does not match.")
@@ -33,7 +33,13 @@ mr = mrlib.verify_mrs([args.mr], refs)[0]
 tags = mrlib.load_tags([mr], refs=refs, commits=False)
 mrtags = mrlib.get_commit_tags(tags, mr, mrlib.rev_zero)
 base = mrlib.get_tag_value(mrtags, "B")
+if not base:
+    sys.exit("No MR base.")
+
 subj = "Merge of " + mrlib.get_tag_value(mrtags, "S")
+if not subj:
+    sys.exit("No MR subject.")
+
 desc = mrlib.get_tag_value(mrtags, "D").replace("\\n", "\n")
 
 rv, out, err = mrlib.run(["git", "merge-base", "HEAD", mr])