debug for merge picker

Summary:
I am debugging why some people get vim to pop up during a merge conflict and some do not.

also fixes a few lint issues

Reviewed By: DurhamG

Differential Revision: D27684419

fbshipit-source-id: f636d71c18353a3816d1e442c05790cf4fd7b90b
This commit is contained in:
Skotch Vail 2021-04-19 12:21:39 -07:00 committed by Facebook GitHub Bot
parent 454dd13f15
commit a3a02abd7a
17 changed files with 124 additions and 7 deletions

View File

@ -330,7 +330,7 @@ class EdenDoctor(EdenDoctorChecker):
)
if fixer.num_manual_fixes:
if fixer.num_manual_fixes == 1:
msg = f"1 issue requires manual attention."
msg = "1 issue requires manual attention."
else:
msg = f"{fixer.num_manual_fixes} issues require manual attention."
out.writeln(msg, fg=out.YELLOW)
@ -398,7 +398,7 @@ def check_mount(
tracker.add_problem(
Problem(
f"Checkout {checkout.path} is currently starting up.",
f"If this checkout does not successfully finish starting soon, "
"If this checkout does not successfully finish starting soon, "
'try running "eden restart"',
severity=ProblemSeverity.ADVICE,
)
@ -411,7 +411,7 @@ def check_mount(
tracker.add_problem(
Problem(
f"Checkout {checkout.path} is currently shutting down.",
f"If this checkout does not successfully finish shutting down soon, "
"If this checkout does not successfully finish shutting down soon, "
'try running "eden restart"',
)
)
@ -486,7 +486,7 @@ The running configuration for {checkout_info.path} is different than "
the on-disk state in Eden's configuration file:
- Running state directory: {checkout_info.running_state_dir}
- Configured state directory: {checkout_info.configured_state_dir}"""
remediation = f"""\
remediation = """\
Running `eden restart` will cause Eden to restart and use the data from the
on-disk configuration."""
super().__init__(msg, remediation)

View File

@ -193,6 +193,7 @@ sh % "'HGEDITOR=cat' hg graft 1 5 'merge()' 2 --debug --config worker.background
ancestor: 68795b066622, local: ef0ef43d49e7+, remote: 5d205f8b35b6
preserving b for resolve of b
b: local copied/moved from a -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for b (binary False symlink False changedelete False)
merging b and a to b
my b@ef0ef43d49e7+ other a@5d205f8b35b6 ancestor a@68795b066622
@ -227,10 +228,12 @@ sh % "'HGEDITOR=cat' hg graft 4 3 --log --debug" == r"""
d: remote is newer -> g
getting d
e: versions differ -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for e (binary False symlink False changedelete False)
merging e
my e@9436191a062e+ other e@9c233e8e184d ancestor e@4c60f11aa304
e: versions differ -> m (merge)
picktool() hgmerge internal:merge
picked tool ':merge' for e (binary False symlink False changedelete False)
my e@9436191a062e+ other e@9c233e8e184d ancestor e@4c60f11aa304
warning: 1 conflicts while merging e! (edit, then use 'hg resolve --mark')

View File

@ -26,7 +26,7 @@ __all__ = []
if getattr(sys, "platform") == "win32":
configdir = os.path.join(
getattr(os, "environ").get("PROGRAMDATA") or "\ProgramData",
getattr(os, "environ").get("PROGRAMDATA") or r"\ProgramData",
"Facebook",
"Mercurial",
)

View File

@ -186,20 +186,25 @@ def _picktool(repo, ui, path, binary, symlink, changedelete):
if force:
toolpath = _findtool(ui, repo, force)
if changedelete and not supportscd(toolpath):
ui.debug("picktool() forcemerge :prompt\n")
return ":prompt", None
else:
if toolpath:
ui.debug("picktool() forcemerge toolpath %s\n" % toolpath)
return (force, util.shellquote(toolpath))
else:
# mimic HGMERGE if given tool not found
ui.debug("picktool() forcemerge toolpath not found %s\n" % force)
return (force, force)
# HGMERGE takes next precedence
hgmerge = encoding.environ.get("HGMERGE")
if hgmerge:
if changedelete and not supportscd(hgmerge):
ui.debug("picktool() hgmerge :prompt %s\n" % hgmerge)
return ":prompt", None
else:
ui.debug("picktool() hgmerge %s\n" % hgmerge)
return (hgmerge, hgmerge)
# then patterns
@ -207,6 +212,7 @@ def _picktool(repo, ui, path, binary, symlink, changedelete):
mf = match.match(repo.root, "", [pat])
if mf(path) and check(tool, pat, symlink, False, changedelete):
toolpath = _findtool(ui, repo, tool)
ui.debug("picktool() merge-patterns tool=%s pat=%s\n" % (toolpath, pat))
return (tool, util.shellquote(toolpath))
# then merge tools
@ -221,6 +227,9 @@ def _picktool(repo, ui, path, binary, symlink, changedelete):
names = tools.keys()
tools = sorted([(-p, tool) for tool, p in tools.items() if tool not in disabled])
interactive = ui.interactive() and ui.formatted
ui.debug(
"picktool() interactive=%s formatted=%s\n" % (ui.interactive(), ui.formatted)
)
uimerge = None
if interactive:
uimerge = ui.config("ui", "merge:interactive")
@ -230,12 +239,17 @@ def _picktool(repo, ui, path, binary, symlink, changedelete):
# external tools defined in uimerge won't be able to handle
# change/delete conflicts
if uimerge not in names and not changedelete:
ui.debug(
"picktool() uimerge merge:interactive=%s merge=%s\n"
% (ui.config("ui", "merge:interactive"), ui.config("ui", "merge"))
)
return (uimerge, uimerge)
tools.insert(0, (None, uimerge)) # highest priority
tools.append((None, "hgmerge")) # the old default, if found
for p, t in tools:
if check(t, None, symlink, binary, changedelete):
toolpath = _findtool(ui, repo, t)
ui.debug("picktool() tools\n")
return (t, util.shellquote(toolpath))
# internal merge or prompt as last resort
@ -244,6 +258,7 @@ def _picktool(repo, ui, path, binary, symlink, changedelete):
# any tool is rejected by capability for symlink or binary
ui.warn(_("no tool found to merge %s\n") % path)
return ":prompt", None
ui.debug("picktool() :merge\n")
return ":merge", None

View File

@ -29,8 +29,6 @@ import traceback
from enum import IntEnum
from typing import Any, Dict, List, Optional, Tuple, Union
import bindings
from bindings import configparser
from edenscm import tracing
from . import (

View File

@ -40,11 +40,13 @@ Test for the full copytracing algorithm
preserving a for resolve of c
removing a
b: remote moved from a -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for b (binary False symlink False changedelete False)
merging a and b to b
my b@add3f11052fa+ other b@17c05bb7fcb6 ancestor a@b8bf91eeebbc
premerge successful
c: remote moved from a -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for c (binary False symlink False changedelete False)
merging a and c to c
my c@add3f11052fa+ other c@17c05bb7fcb6 ancestor a@b8bf91eeebbc

View File

@ -39,11 +39,13 @@ we get conflicts that shouldn't be there
preserving foo for resolve of bar
preserving foo for resolve of foo
bar: remote copied from foo -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for bar (binary False symlink False changedelete False)
merging foo and bar to bar
my bar@6a0df1dad128+ other bar@484bf6903104 ancestor foo@e6dc8efe11cc
premerge successful
foo: versions differ -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for foo (binary False symlink False changedelete False)
merging foo
my foo@6a0df1dad128+ other foo@484bf6903104 ancestor foo@e6dc8efe11cc

View File

@ -193,6 +193,7 @@ sh % "'HGEDITOR=cat' hg graft 1 5 'merge()' 2 --debug --config worker.background
ancestor: 68795b066622, local: ef0ef43d49e7+, remote: 5d205f8b35b6
preserving b for resolve of b
b: local copied/moved from a -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for b (binary False symlink False changedelete False)
merging b and a to b
my b@ef0ef43d49e7+ other a@5d205f8b35b6 ancestor a@68795b066622
@ -227,10 +228,12 @@ sh % "'HGEDITOR=cat' hg graft 4 3 --log --debug" == r"""
d: remote is newer -> g
getting d
e: versions differ -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for e (binary False symlink False changedelete False)
merging e
my e@9436191a062e+ other e@9c233e8e184d ancestor e@4c60f11aa304
e: versions differ -> m (merge)
picktool() hgmerge internal:merge
picked tool ':merge' for e (binary False symlink False changedelete False)
my e@9436191a062e+ other e@9c233e8e184d ancestor e@4c60f11aa304
warning: 1 conflicts while merging e! (edit, then use 'hg resolve --mark')

View File

@ -66,6 +66,7 @@ https://bz.mercurial-scm.org/672
ancestor: c64f439569a9, local: e327dca35ac8+, remote: 746e9549ea96
preserving 1a for resolve of 1a
1a: local copied/moved from 1 -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for 1a (binary False symlink False changedelete False)
merging 1a and 1 to 1a
my 1a@e327dca35ac8+ other 1@746e9549ea96 ancestor 1@c64f439569a9
@ -89,6 +90,7 @@ https://bz.mercurial-scm.org/672
preserving 1 for resolve of 1a
removing 1
1a: remote moved from 1 -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for 1a (binary False symlink False changedelete False)
merging 1 and 1a to 1a
my 1a@746e9549ea96+ other 1a@e327dca35ac8 ancestor 1@c64f439569a9

View File

@ -76,6 +76,7 @@ This should use bar@rev2 as the ancestor:
ancestor: 0f2ff26688b9, local: 2263c1be0967+, remote: 0555950ead28
preserving bar for resolve of bar
bar: versions differ -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for bar (binary False symlink False changedelete False)
merging bar
my bar@2263c1be0967+ other bar@0555950ead28 ancestor bar@0f2ff26688b9
@ -165,6 +166,7 @@ This should use bar@rev2 as the ancestor:
ancestor: 0f2ff26688b9, local: 2263c1be0967+, remote: 3ffa6b9e35f0
preserving bar for resolve of bar
bar: versions differ -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for bar (binary False symlink False changedelete False)
merging bar
my bar@2263c1be0967+ other bar@3ffa6b9e35f0 ancestor bar@0f2ff26688b9

View File

@ -89,10 +89,12 @@ Criss cross merging
ancestor: d1d156401c1b, local: 6373bbfdae1d+, remote: e673248094b1
preserving f1 for resolve of f1
f1: versions differ -> m (premerge)
picktool() forcemerge toolpath internal:dump
picked tool ':dump' for f1 (binary False symlink False changedelete False)
merging f1
my f1@6373bbfdae1d+ other f1@e673248094b1 ancestor f1@d1d156401c1b
f1: versions differ -> m (merge)
picktool() forcemerge toolpath internal:dump
picked tool ':dump' for f1 (binary False symlink False changedelete False)
my f1@6373bbfdae1d+ other f1@e673248094b1 ancestor f1@d1d156401c1b
0 files updated, 0 files merged, 0 files removed, 1 files unresolved

View File

@ -1377,7 +1377,9 @@ specified file as expected
$ hg debugpickmergetool --config merge-patterns.f=true --config merge-tools.true.executable=nonexistentmergetool --debug f
couldn't find merge tool true (for pattern f)
picktool() interactive=False formatted=False
couldn't find merge tool true
picktool() tools
f = false
test ui.merge:interactive

View File

@ -38,6 +38,7 @@ Symlink is local parent, executable is other:
ancestor: c334dc3be0da, local: 521a1e40188f+, remote: 3574f3e69b1c
preserving a for resolve of a
a: versions differ -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for a (binary False symlink True changedelete False)
merging a
my a@521a1e40188f+ other a@3574f3e69b1c ancestor a@c334dc3be0da
@ -71,6 +72,7 @@ Symlink is other parent, executable is local:
ancestor: c334dc3be0da, local: 3574f3e69b1c+, remote: 521a1e40188f
preserving a for resolve of a
a: versions differ -> m (premerge)
picktool() forcemerge toolpath :union
picked tool ':union' for a (binary False symlink True changedelete False)
merging a
my a@3574f3e69b1c+ other a@521a1e40188f ancestor a@c334dc3be0da
@ -94,6 +96,7 @@ Symlink is other parent, executable is local:
ancestor: c334dc3be0da, local: 3574f3e69b1c+, remote: 521a1e40188f
preserving a for resolve of a
a: versions differ -> m (premerge)
picktool() forcemerge toolpath :merge3
picked tool ':merge3' for a (binary False symlink True changedelete False)
merging a
my a@3574f3e69b1c+ other a@521a1e40188f ancestor a@c334dc3be0da
@ -117,6 +120,7 @@ Symlink is other parent, executable is local:
ancestor: c334dc3be0da, local: 3574f3e69b1c+, remote: 521a1e40188f
preserving a for resolve of a
a: versions differ -> m (premerge)
picktool() forcemerge toolpath :merge-local
picked tool ':merge-local' for a (binary False symlink True changedelete False)
merging a
my a@3574f3e69b1c+ other a@521a1e40188f ancestor a@c334dc3be0da
@ -139,6 +143,7 @@ Symlink is other parent, executable is local:
ancestor: c334dc3be0da, local: 3574f3e69b1c+, remote: 521a1e40188f
preserving a for resolve of a
a: versions differ -> m (premerge)
picktool() forcemerge toolpath :merge-other
picked tool ':merge-other' for a (binary False symlink True changedelete False)
merging a
my a@3574f3e69b1c+ other a@521a1e40188f ancestor a@c334dc3be0da
@ -173,6 +178,7 @@ Update to link with local change should cause a merge prompt (issue3200):
ancestor: c334dc3be0da, local: c334dc3be0da+, remote: 521a1e40188f
preserving a for resolve of a
a: versions differ -> m (premerge)
picktool() interactive=False formatted=False
(couldn't find merge tool hgmerge|tool hgmerge can't handle symlinks) (re)
no tool found to merge a
picked tool ':prompt' for a (binary False symlink True changedelete False)

View File

@ -85,10 +85,12 @@ pull and merge from test-a again
ancestor: 96b70246a118, local: 50c3a7e29886+, remote: 40d11a4173a8
preserving test.txt for resolve of test.txt
test.txt: versions differ -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for test.txt (binary False symlink False changedelete False)
merging test.txt
my test.txt@50c3a7e29886+ other test.txt@40d11a4173a8 ancestor test.txt@96b70246a118
test.txt: versions differ -> m (merge)
picktool() hgmerge internal:merge
picked tool ':merge' for test.txt (binary False symlink False changedelete False)
my test.txt@50c3a7e29886+ other test.txt@40d11a4173a8 ancestor test.txt@96b70246a118
warning: 1 conflicts while merging test.txt! (edit, then use 'hg resolve --mark')

View File

@ -45,6 +45,7 @@
b2: remote created -> g
getting b2
b: remote moved from a -> m (premerge)
picktool() hgmerge internal:merge
picked tool ':merge' for b (binary False symlink False changedelete False)
merging a and b to b
my b@044f8520aeeb+ other b@85c198ef2f6c ancestor a@af1939970a1c

View File

@ -89,15 +89,18 @@ $4 = expected result
preserving a for resolve of b
preserving rev for resolve of rev
b: remote copied from a -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging a and b to b
my b@e300d1c794ec+ other b@4ce40f5aca24 ancestor a@924404dff337
premerge successful
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@e300d1c794ec+ other rev@4ce40f5aca24 ancestor rev@924404dff337
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@e300d1c794ec+ other rev@4ce40f5aca24 ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -128,15 +131,18 @@ $4 = expected result
a: remote is newer -> g
getting a
b: local copied/moved from a -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b and a to b
my b@86a2aa42fc76+ other a@f4db7e329e71 ancestor a@924404dff337
premerge successful
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@86a2aa42fc76+ other rev@f4db7e329e71 ancestor rev@924404dff337
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@86a2aa42fc76+ other rev@f4db7e329e71 ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -166,15 +172,18 @@ $4 = expected result
preserving rev for resolve of rev
removing a
b: remote moved from a -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging a and b to b
my b@e300d1c794ec+ other b@bdb19105162a ancestor a@924404dff337
premerge successful
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@e300d1c794ec+ other rev@bdb19105162a ancestor rev@924404dff337
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@e300d1c794ec+ other rev@bdb19105162a ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -202,15 +211,18 @@ $4 = expected result
preserving b for resolve of b
preserving rev for resolve of rev
b: local copied/moved from a -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b and a to b
my b@02963e448370+ other a@f4db7e329e71 ancestor a@924404dff337
premerge successful
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@02963e448370+ other rev@f4db7e329e71 ancestor rev@924404dff337
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@02963e448370+ other rev@f4db7e329e71 ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -239,10 +251,12 @@ $4 = expected result
b: remote created -> g
getting b
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@94b33a1b7f2d+ other rev@4ce40f5aca24 ancestor rev@924404dff337
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@94b33a1b7f2d+ other rev@4ce40f5aca24 ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -269,10 +283,12 @@ $4 = expected result
ancestor: 924404dff337, local: 86a2aa42fc76+, remote: 97c705ade336
preserving rev for resolve of rev
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@86a2aa42fc76+ other rev@97c705ade336 ancestor rev@924404dff337
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@86a2aa42fc76+ other rev@97c705ade336 ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -303,10 +319,12 @@ $4 = expected result
b: remote created -> g
getting b
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@94b33a1b7f2d+ other rev@bdb19105162a ancestor rev@924404dff337
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@94b33a1b7f2d+ other rev@bdb19105162a ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -332,10 +350,12 @@ $4 = expected result
ancestor: 924404dff337, local: 02963e448370+, remote: 97c705ade336
preserving rev for resolve of rev
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@02963e448370+ other rev@97c705ade336 ancestor rev@924404dff337
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@02963e448370+ other rev@97c705ade336 ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -359,19 +379,23 @@ $4 = expected result
preserving b for resolve of b
preserving rev for resolve of rev
b: both renamed from a -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b
my b@62e7bf090eba+ other b@49b6d8032493 ancestor a@924404dff337
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@62e7bf090eba+ other rev@49b6d8032493 ancestor rev@924404dff337
b: both renamed from a -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
my b@62e7bf090eba+ other b@49b6d8032493 ancestor a@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob)
merge tool returned: 0
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@62e7bf090eba+ other rev@49b6d8032493 ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -408,10 +432,12 @@ m "um a c" "um x c" " " "10 do merge with no ancestor"
c: remote created -> g
getting c
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@02963e448370+ other rev@fe905ef2c33e ancestor rev@924404dff337
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@02963e448370+ other rev@fe905ef2c33e ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -436,19 +462,23 @@ m "um a c" "um x c" " " "10 do merge with no ancestor"
preserving b for resolve of b
preserving rev for resolve of rev
b: both created -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b
my b@86a2aa42fc76+ other b@af30c7647fc7 ancestor b@000000000000
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@86a2aa42fc76+ other rev@af30c7647fc7 ancestor rev@924404dff337
b: both created -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
my b@86a2aa42fc76+ other b@af30c7647fc7 ancestor b@000000000000
launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob)
merge tool returned: 0
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@86a2aa42fc76+ other rev@af30c7647fc7 ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -475,19 +505,23 @@ m "um a c" "um x c" " " "10 do merge with no ancestor"
a: other deleted -> r
removing a
b: both created -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b
my b@59318016310c+ other b@bdb19105162a ancestor b@000000000000
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@59318016310c+ other rev@bdb19105162a ancestor rev@924404dff337
b: both created -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
my b@59318016310c+ other b@bdb19105162a ancestor b@000000000000
launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob)
merge tool returned: 0
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@59318016310c+ other rev@bdb19105162a ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -513,19 +547,23 @@ m "um a c" "um x c" " " "10 do merge with no ancestor"
a: remote is newer -> g
getting a
b: both created -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b
my b@86a2aa42fc76+ other b@8dbce441892a ancestor b@000000000000
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337
b: both created -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
my b@86a2aa42fc76+ other b@8dbce441892a ancestor b@000000000000
launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob)
merge tool returned: 0
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -552,19 +590,23 @@ m "um a c" "um x c" " " "10 do merge with no ancestor"
a: other deleted -> r
removing a
b: both created -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b
my b@59318016310c+ other b@bdb19105162a ancestor b@000000000000
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@59318016310c+ other rev@bdb19105162a ancestor rev@924404dff337
b: both created -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
my b@59318016310c+ other b@bdb19105162a ancestor b@000000000000
launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob)
merge tool returned: 0
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@59318016310c+ other rev@bdb19105162a ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -590,19 +632,23 @@ m "um a c" "um x c" " " "10 do merge with no ancestor"
a: remote is newer -> g
getting a
b: both created -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b
my b@86a2aa42fc76+ other b@8dbce441892a ancestor b@000000000000
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337
b: both created -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
my b@86a2aa42fc76+ other b@8dbce441892a ancestor b@000000000000
launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob)
merge tool returned: 0
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -627,19 +673,23 @@ m "um a c" "um x c" " " "10 do merge with no ancestor"
preserving b for resolve of b
preserving rev for resolve of rev
b: both created -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b
my b@0b76e65c8289+ other b@4ce40f5aca24 ancestor b@000000000000
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@0b76e65c8289+ other rev@4ce40f5aca24 ancestor rev@924404dff337
b: both created -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
my b@0b76e65c8289+ other b@4ce40f5aca24 ancestor b@000000000000
launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob)
merge tool returned: 0
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@0b76e65c8289+ other rev@4ce40f5aca24 ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -664,23 +714,28 @@ m "um a c" "um x c" " " "10 do merge with no ancestor"
preserving b for resolve of b
preserving rev for resolve of rev
a: prompt deleted/changed -> m (premerge)
picktool() forcemerge :prompt
picked tool ':prompt' for a (binary False symlink False changedelete True)
other [merge rev] changed a which local [working copy] deleted
use (c)hanged version, leave (d)eleted, leave (u)nresolved, or input (r)enamed path? u
b: both created -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b
my b@02963e448370+ other b@8dbce441892a ancestor b@000000000000
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@02963e448370+ other rev@8dbce441892a ancestor rev@924404dff337
b: both created -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
my b@02963e448370+ other b@8dbce441892a ancestor b@000000000000
launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob)
merge tool returned: 0
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@02963e448370+ other rev@8dbce441892a ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -707,23 +762,28 @@ m "um a c" "um x c" " " "10 do merge with no ancestor"
preserving b for resolve of b
preserving rev for resolve of rev
a: prompt changed/deleted -> m (premerge)
picktool() forcemerge :prompt
picked tool ':prompt' for a (binary False symlink False changedelete True)
local [working copy] changed a which other [merge rev] deleted
use (c)hanged version, (d)elete, or leave (u)nresolved? u
b: both created -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b
my b@0b76e65c8289+ other b@bdb19105162a ancestor b@000000000000
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@0b76e65c8289+ other rev@bdb19105162a ancestor rev@924404dff337
b: both created -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
my b@0b76e65c8289+ other b@bdb19105162a ancestor b@000000000000
launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob)
merge tool returned: 0
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@0b76e65c8289+ other rev@bdb19105162a ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -753,19 +813,23 @@ m "um a c" "um x c" " " "10 do merge with no ancestor"
preserving rev for resolve of rev
removing a
b: remote moved from a -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging a and b to b
my b@e300d1c794ec+ other b@49b6d8032493 ancestor a@924404dff337
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@e300d1c794ec+ other rev@49b6d8032493 ancestor rev@924404dff337
b: remote moved from a -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
my b@e300d1c794ec+ other b@49b6d8032493 ancestor a@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob)
merge tool returned: 0
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@e300d1c794ec+ other rev@49b6d8032493 ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -793,19 +857,23 @@ m "um a c" "um x c" " " "10 do merge with no ancestor"
preserving b for resolve of b
preserving rev for resolve of rev
b: local copied/moved from a -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b and a to b
my b@62e7bf090eba+ other a@f4db7e329e71 ancestor a@924404dff337
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@62e7bf090eba+ other rev@f4db7e329e71 ancestor rev@924404dff337
b: local copied/moved from a -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
my b@62e7bf090eba+ other a@f4db7e329e71 ancestor a@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob)
merge tool returned: 0
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@62e7bf090eba+ other rev@f4db7e329e71 ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)
@ -840,15 +908,18 @@ m "nm a b" "um x a" " " "22 get a, keep b"
c: remote created -> g
getting c
b: local copied/moved from a -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob)
merging b and a to b
my b@02963e448370+ other a@2b958612230f ancestor a@924404dff337
premerge successful
rev: versions differ -> m (premerge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
merging rev
my rev@02963e448370+ other rev@2b958612230f ancestor rev@924404dff337
rev: versions differ -> m (merge)
picktool() forcemerge toolpath not found * ../merge (glob)
picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob)
my rev@02963e448370+ other rev@2b958612230f ancestor rev@924404dff337
launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob)

View File

@ -52,10 +52,12 @@
b: remote created -> g
getting b
a: versions differ -> m (premerge)
picktool() hgmerge true
picked tool 'true' for a (binary False symlink False changedelete False)
merging a
my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a
a: versions differ -> m (merge)
picktool() hgmerge true
picked tool 'true' for a (binary False symlink False changedelete False)
my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a
launching merge tool: true *$TESTTMP/r2/a* * * (glob)
@ -78,10 +80,12 @@
b: other deleted -> r
removing b
a: versions differ -> m (premerge)
picktool() hgmerge true
picked tool 'true' for a (binary False symlink False changedelete False)
merging a
my a@1e71731e6fbb+ other a@c19d34741b0a ancestor a@1e71731e6fbb
a: versions differ -> m (merge)
picktool() hgmerge true
picked tool 'true' for a (binary False symlink False changedelete False)
my a@1e71731e6fbb+ other a@c19d34741b0a ancestor a@1e71731e6fbb
launching merge tool: true *$TESTTMP/r2/a* * * (glob)
@ -104,10 +108,12 @@
b: remote created -> g
getting b
a: versions differ -> m (premerge)
picktool() hgmerge true
picked tool 'true' for a (binary False symlink False changedelete False)
merging a
my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a
a: versions differ -> m (merge)
picktool() hgmerge true
picked tool 'true' for a (binary False symlink False changedelete False)
my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a
launching merge tool: true *$TESTTMP/r2/a* * * (glob)