From: Frantisek Hrbata Date: Thu, 10 Dec 2020 17:34:26 +0000 (+0100) Subject: mrlib.py: add comments2mrs X-Git-Tag: v0.2~51 X-Git-Url: http://www.hrbata.com/gitweb/?a=commitdiff_plain;h=7f8dfca32d63c1dcf90ce27d7b0096b390676b29;p=gimrr.git mrlib.py: add comments2mrs Signed-off-by: Frantisek Hrbata --- diff --git a/mrlib.py b/mrlib.py index 1ade76c..8ba886d 100755 --- a/mrlib.py +++ b/mrlib.py @@ -147,9 +147,12 @@ def verify_comments(comments, refs): 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))) @@ -171,6 +174,21 @@ def verify_commits(mrcommits, commits): 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()