--- a/hgext3rd/evolve/utility.py Sun May 05 18:24:50 2019 +0530
+++ b/hgext3rd/evolve/utility.py Sun May 05 18:24:59 2019 +0530
@@ -187,3 +187,26 @@
return None
return revs[intidx - 1]
+
+def mergeusers(ui, base, divergent, other):
+ """ merges the users from two divergent changesets using three-way merge
+ and return the user that will be used as the author of resolved cset"""
+ baseuser = base.user()
+ divuser = divergent.user()
+ othuser = other.user()
+
+ if divuser == othuser:
+ return divuser
+ else:
+ if baseuser == divuser:
+ return othuser
+ elif baseuser == othuser:
+ return divuser
+ else:
+ # all three are different, lets concatenate the two authors
+ # XXX: should we let the user know about concatenation of authors
+ # by printing some message (or maybe in verbose mode)
+ users = set(divuser.split(', '))
+ users.update(othuser.split(', '))
+ user = ', '.join(sorted(users))
+ return user