comparison tests/test-resolve.t @ 45518:32ce4cbaec4b

mergedriver: delete it The merge driver code was added in late 2015. I think '406a654b::6f045b56 & user("sid0")' is a reasonable revset for finding the relevant commits, including preparation for it. The code is very poorly tested, which makes it very hard to maintain. It seems it's only used by FB and they don't use this code base anymore, so let's remove the code to make it easier for us to maintain our product. Differential Revision: https://phab.mercurial-scm.org/D9041
author Martin von Zweigbergk <martinvonz@google.com>
date Thu, 17 Sep 2020 22:34:36 -0700
parents 766797f23f77
children 21733e8c924f
comparison
equal deleted inserted replaced
45517:2a68a5ec8dd0 45518:32ce4cbaec4b
84 84
85 cleanup 85 cleanup
86 $ hg resolve -u 86 $ hg resolve -u
87 $ cd .. 87 $ cd ..
88 $ rmdir nested 88 $ rmdir nested
89
90 don't allow marking or unmarking driver-resolved files
91
92 $ cat > $TESTTMP/markdriver.py << EOF
93 > '''mark and unmark files as driver-resolved'''
94 > from mercurial import (
95 > mergestate,
96 > pycompat,
97 > registrar,
98 > scmutil,
99 > )
100 > cmdtable = {}
101 > command = registrar.command(cmdtable)
102 > @command(b'markdriver',
103 > [(b'u', b'unmark', None, b'')],
104 > b'FILE...')
105 > def markdriver(ui, repo, *pats, **opts):
106 > wlock = repo.wlock()
107 > opts = pycompat.byteskwargs(opts)
108 > try:
109 > ms = mergestate.mergestate.read(repo)
110 > m = scmutil.match(repo[None], pats, opts)
111 > for f in ms:
112 > if not m(f):
113 > continue
114 > if not opts[b'unmark']:
115 > ms.mark(f, b'd')
116 > else:
117 > ms.mark(f, b'u')
118 > ms.commit()
119 > finally:
120 > wlock.release()
121 > EOF
122 $ hg --config extensions.markdriver=$TESTTMP/markdriver.py markdriver file1
123 $ hg resolve --list
124 D file1
125 U file2
126 $ hg resolve --mark file1
127 not marking file1 as it is driver-resolved
128 this should not print out file1
129 $ hg resolve --mark --all
130 (no more unresolved files -- run "hg resolve --all" to conclude)
131 $ hg resolve --mark 'glob:file*'
132 (no more unresolved files -- run "hg resolve --all" to conclude)
133 $ hg resolve --list
134 D file1
135 R file2
136 $ hg resolve --unmark file1
137 not unmarking file1 as it is driver-resolved
138 (no more unresolved files -- run "hg resolve --all" to conclude)
139 $ hg resolve --unmark --all
140 $ hg resolve --list
141 D file1
142 U file2
143 $ hg --config extensions.markdriver=$TESTTMP/markdriver.py markdriver --unmark file1
144 $ hg resolve --list
145 U file1
146 U file2
147 89
148 resolve the failure 90 resolve the failure
149 91
150 $ echo resolved > file1 92 $ echo resolved > file1
151 $ hg resolve -m file1 93 $ hg resolve -m file1