# HG changeset patch # User Patrick Mezard # Date 1191445776 -7200 # Node ID 36c46e20976a71708529102a7835cf7ba335f504 # Parent 26c0609220856292f72e708f02cb6d62b7350666 merge: provide *_ISLINK environment vars to merge helper Sets HG_MY_ISLINK, HG_OTHER_ISLINK, HG_BASE_ISLINK in environment. Without these variables, it's impossible for the merge application to know whether the 'other' and 'base' files were symlinks in their original contexts. For the purposes of the merge they are always emitted as small text files. diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -53,7 +53,10 @@ def filemerge(repo, fw, fd, fo, wctx, mc r = util.system('%s "%s" "%s" "%s"' % (cmd, a, b, c), cwd=repo.root, environ={'HG_FILE': fd, 'HG_MY_NODE': str(wctx.parents()[0]), - 'HG_OTHER_NODE': str(mctx)}) + 'HG_OTHER_NODE': str(mctx), + 'HG_MY_ISLINK': fcm.islink(), + 'HG_OTHER_ISLINK': fco.islink(), + 'HG_BASE_ISLINK': fca.islink(),}) if r: repo.ui.warn(_("merging %s failed!\n") % fd)