user = mrlib.get_user()
tmpdir = tempfile.TemporaryDirectory()
+mrtags = dict()
tags = dict()
-mrlib.add_tag(tags, mr, mrlib.rev_zero, "B", user, base)
+mrlib.add_tag(mrtags, mr, mrlib.rev_zero, "M", user, mr)
+mrlib.add_tag(mrtags, mr, mrlib.rev_zero, "B", user, base)
+mrlib.add_tag(mrtags, mr, mrlib.rev_zero, "A", user, user)
if args.stdin:
desc = sys.stdin.read()
sys.exit("No git user.email found.")
at = int(time.time())
-mrlib.add_tag(tags, mr, mrlib.rev_zero, "AN", user, an)
-mrlib.add_tag(tags, mr, mrlib.rev_zero, "AE", user, ae)
-mrlib.add_tag(tags, mr, mrlib.rev_zero, "AT", user, at)
+mrlib.add_tag(mrtags, mr, mrlib.rev_zero, "AN", user, an)
+mrlib.add_tag(mrtags, mr, mrlib.rev_zero, "AE", user, ae)
+mrlib.add_tag(mrtags, mr, mrlib.rev_zero, "AT", user, at)
mrlib.add_tag(tags, mr, mrlib.rev_zero, "S", user, subj)
if desc:
mrlib.add_tag(tags, mr, mrlib.rev_zero, "D", user, desc)
-fmt = "--format=format:%H s %s%n%H an %an%n%H ae %ae%n%H at %at"
+fmt = "--format=format:%H"
rv, out, err = mrlib.run(["git", "log", fmt, "{}..{}".format(base, mr)])
commits = list()
-for line in out.split("\n"):
- commit,tag,value= line.split(None, 2)
+for commit in out.split("\n"):
+ commits.insert(0, commit)
- if commit not in commits:
- commits.insert(0, commit)
-
- mrlib.add_tag(tags, mr, commit, tag, user, value)
-
-mrlib.add_tag(tags, mr, mrlib.rev_zero, "CC", user, str(len(commits)))
-mrlib.add_tag(tags, mr, mrlib.rev_zero, "C", user, " ".join(commits))
+mrlib.add_tag(mrtags, mr, mrlib.rev_zero, "CC", user, str(len(commits)))
+mrlib.add_tag(mrtags, mr, mrlib.rev_zero, "C", user, " ".join(commits))
tagsfn = "{}/tags".format(tmpdir.name)
with open(tagsfn, 'w+') as f:
mrlib.store_user_tags(tags, mr, user, f)
+mrtagsfn = "{}/mrtags".format(tmpdir.name)
+with open(mrtagsfn, 'w+') as f:
+ mrlib.store_user_tags(mrtags, mr, user, f)
+
tagssha = mrlib.commit_file(tagsfn, "tags", "Initial tags for MR {}".format(mr))
+mrtagssha = mrlib.commit_file(mrtagsfn, "tags", "MR base tags {}".format(mr))
mrlib.update_ref("refs/mrs/{}/{}/head".format(mr, user), mr, oldrev=mrlib.rev_zero)
mrlib.update_ref("refs/mrs/{}/{}/tags".format(mr, user), tagssha, oldrev=mrlib.rev_zero)
+mrlib.update_ref("refs/mrs/{}/{}/mr".format(mr, user), mrtagssha, oldrev=mrlib.rev_zero)