[PATCH 4 of 4 accept-scripts] land: fix logic so that reviewers work as intended
Augie Fackler
raf at durin42.com
Wed Jun 12 00:52:25 EDT 2019
# HG changeset patch
# User Augie Fackler <raf at durin42.com>
# Date 1560313366 14400
# Wed Jun 12 00:22:46 2019 -0400
# Node ID e696629f153d7fcfa11f7046c43dff1fb1a79373
# Parent eca3ad69186b71aceb657be4e884f2a199fa784c
land: fix logic so that reviewers work as intended
The intent was for 1 accepter + 1 reviewer _or_ two accepters to be
able to land things. Somehow, the reviewer-and-accepter case was never
implemented, and mysteriously went unnoticed until now.
diff --git a/accept.py b/accept.py
--- a/accept.py
+++ b/accept.py
@@ -124,6 +124,10 @@ class commitqueue(object):
def accepted(self, commit):
al = self.accepters(commit)
if len(al) >= 2:
+ # Two valid accept stamps
+ return True
+ if al and len(set(self.reviewers(commit) + al)) >= 2:
+ # pushed by a reviewer, stamped by a committer
return True
return False
diff --git a/accepted b/accepted
--- a/accepted
+++ b/accepted
@@ -9,4 +9,4 @@ cq = accept.commitqueue(config.load().so
for n in cq.commits():
a = cq.accepted(n)
if a:
- print n, " ".join(cq.accepters(n))
+ print n, " ".join(sorted(set(cq.reviewers(n) + cq.accepters(n))))
diff --git a/land b/land
--- a/land
+++ b/land
@@ -128,7 +128,8 @@ if take:
f.write('%(node)s %(author)s %(accepters)s\n' % {
'node': node,
'author': cq.author(node),
- 'accepters': ' '.join(cq.accepted(node)),
+ 'accepters': ' '.join(
+ sorted(set(cq.reviewers(node) + cq.accepters(node)))),
})
else:
logging.debug("not landing any changes")
diff --git a/tests/test-land.t b/tests/test-land.t
--- a/tests/test-land.t
+++ b/tests/test-land.t
@@ -170,17 +170,26 @@ pushed by a reviewer, not a full accepte
o 0:1ea7 default
$ accepted
+ 01241442b3c2bf3211e593b549c655ea65b295e3 bob fred
ad9193bbd7242c2bb6df4bb3cf71d0ce2e68457c alice bob
0d90bd0be154baaf1b9e9eb4906e031d2874ece2 alice bob
a500f39c86e6e58d237748a861d3a5567101bd48 alice bob
eefd39cebb36c0cbc653ebf033972850e44801fd alice bob
-BUG: we don't accept 1 reviewer and one accepter as being accepted.
$ blocker
- 01241442b3c2bf3211e593b549c655ea65b295e3 bob
$ land
$ hg log -G -T'{rev}:{node|shortest} {branch} {tags}\n' -R ../complextgt
- o 2:0acc stable tip
+ o 7:eefd default tip
|
+ o 6:a500 default
+ |\
+ | o 5:0d90 stable
+ | |
+ o | 4:ad91 default
+ |\|
+ o | 3:0124 default
+ | |
+ | o 2:0acc stable
+ |/
o 1:66f7 default
|
o 0:1ea7 default
More information about the Mercurial-devel
mailing list