mboxes = filter_revs(refs, types=["mbox"])
stdin = "\n".join(mboxes)
- rv, out, err = run(["git", "rev-list", "--stdin"], stdin=stdin)
+ if stdin:
+ rv, out, err = run(["git", "rev-list", "--stdin"], stdin=stdin)
+ valid = set(out.strip().split("\n"))
+ else:
+ valid = set()
- valid = set(out.strip().split("\n"))
diff = revs - valid
if diff:
sys.exit("Invalid or non-existing comment: {}".format(" ".join(diff)))
return list(revs)
+def comments2mrs(refs, mrs=None):
+ mb_refs = filter_refs(refs, mrs=mrs, types=["mbox"])
+
+ stdin = "\n".join(ref for rev, ref in mb_refs)
+ rv, out, err = run(["git", "log", "--format=%S %H", "--stdin"],
+ stdin=stdin)
+
+ m = dict()
+ for line in out.strip().split("\n"):
+ ref, rev = line.split()
+ mr = ref.split('/')[2]
+ m[rev] = mr
+
+ return m
+
def add_tag(tags, mr, commit, tag, user, value):
if mr not in tags:
tags[mr] = dict()