##// END OF EJS Templates
give more info to hgmerge script.
Vadim Gelfer -
r1883:b98160cf default
parent child Browse files
Show More
@@ -4,11 +4,15 b''
4 #
4 #
5 # This tries to find a way to do three-way merge on the current system.
5 # This tries to find a way to do three-way merge on the current system.
6 # The result ought to end up in $1.
6 # The result ought to end up in $1.
7 #
8 # Environment variables set by Mercurial:
9 # HG_ROOT repo root
10 # HG_FILE name of file within repo
11 # HG_MY_NODE revision being merged
12 # HG_OTHER_NODE revision being merged
7
13
8 set -e # bail out quickly on failure
14 set -e # bail out quickly on failure
9
15
10 echo $1 $2 $3
11
12 LOCAL="$1"
16 LOCAL="$1"
13 BASE="$2"
17 BASE="$2"
14 OTHER="$3"
18 OTHER="$3"
@@ -1636,10 +1636,12 b' class localrepository(object):'
1636 # merge the tricky bits
1636 # merge the tricky bits
1637 files = merge.keys()
1637 files = merge.keys()
1638 files.sort()
1638 files.sort()
1639 xp1 = hex(p1)
1640 xp2 = hex(p2)
1639 for f in files:
1641 for f in files:
1640 self.ui.status(_("merging %s\n") % f)
1642 self.ui.status(_("merging %s\n") % f)
1641 my, other, flag = merge[f]
1643 my, other, flag = merge[f]
1642 ret = self.merge3(f, my, other)
1644 ret = self.merge3(f, my, other, xp1, xp2)
1643 if ret:
1645 if ret:
1644 err = True
1646 err = True
1645 util.set_exec(self.wjoin(f), flag)
1647 util.set_exec(self.wjoin(f), flag)
@@ -1677,7 +1679,7 b' class localrepository(object):'
1677 self.dirstate.setparents(p1, p2)
1679 self.dirstate.setparents(p1, p2)
1678 return err
1680 return err
1679
1681
1680 def merge3(self, fn, my, other):
1682 def merge3(self, fn, my, other, p1, p2):
1681 """perform a 3-way merge in the working directory"""
1683 """perform a 3-way merge in the working directory"""
1682
1684
1683 def temp(prefix, node):
1685 def temp(prefix, node):
@@ -1700,7 +1702,14 b' class localrepository(object):'
1700
1702
1701 cmd = (os.environ.get("HGMERGE") or self.ui.config("ui", "merge")
1703 cmd = (os.environ.get("HGMERGE") or self.ui.config("ui", "merge")
1702 or "hgmerge")
1704 or "hgmerge")
1703 r = os.system('%s "%s" "%s" "%s"' % (cmd, a, b, c))
1705 r = util.system('%s "%s" "%s" "%s"' % (cmd, a, b, c),
1706 environ={'HG_ROOT': self.root,
1707 'HG_FILE': fn,
1708 'HG_MY_NODE': p1,
1709 'HG_OTHER_NODE': p2,
1710 'HG_FILE_MY_NODE': hex(my),
1711 'HG_FILE_OTHER_NODE': hex(other),
1712 'HG_FILE_BASE_NODE': hex(base)})
1704 if r:
1713 if r:
1705 self.ui.warn(_("merging %s failed!\n") % fn)
1714 self.ui.warn(_("merging %s failed!\n") % fn)
1706
1715
General Comments 0
You need to be logged in to leave comments. Login now