Show More
@@ -16,6 +16,7 b' from mercurial import (' | |||||
16 | extensions, |
|
16 | extensions, | |
17 | localrepo, |
|
17 | localrepo, | |
18 | pycompat, |
|
18 | pycompat, | |
|
19 | scmutil, | |||
19 | store, |
|
20 | store, | |
20 | util, |
|
21 | util, | |
21 | ) |
|
22 | ) | |
@@ -219,6 +220,35 b' class gitbmstore(object):' | |||||
219 | force=True, |
|
220 | force=True, | |
220 | ) |
|
221 | ) | |
221 |
|
222 | |||
|
223 | def checkconflict(self, mark, force=False, target=None): | |||
|
224 | githead = _BMS_PREFIX + mark | |||
|
225 | cur = self.gitrepo.references['HEAD'] | |||
|
226 | if githead in self.gitrepo.references and not force: | |||
|
227 | if target: | |||
|
228 | if self.gitrepo.references[githead] == target and target == cur: | |||
|
229 | # re-activating a bookmark | |||
|
230 | return [] | |||
|
231 | # moving a bookmark - forward? | |||
|
232 | raise NotImplementedError | |||
|
233 | raise error.Abort( | |||
|
234 | _(b"bookmark '%s' already exists (use -f to force)") % mark | |||
|
235 | ) | |||
|
236 | if len(mark) > 3 and not force: | |||
|
237 | try: | |||
|
238 | shadowhash = scmutil.isrevsymbol(self._repo, mark) | |||
|
239 | except error.LookupError: # ambiguous identifier | |||
|
240 | shadowhash = False | |||
|
241 | if shadowhash: | |||
|
242 | self._repo.ui.warn( | |||
|
243 | _( | |||
|
244 | b"bookmark %s matches a changeset hash\n" | |||
|
245 | b"(did you leave a -r out of an 'hg bookmark' " | |||
|
246 | b"command?)\n" | |||
|
247 | ) | |||
|
248 | % mark | |||
|
249 | ) | |||
|
250 | return [] | |||
|
251 | ||||
222 |
|
252 | |||
223 | def init(orig, ui, dest=b'.', **opts): |
|
253 | def init(orig, ui, dest=b'.', **opts): | |
224 | if opts.get('git', False): |
|
254 | if opts.get('git', False): |
General Comments 0
You need to be logged in to leave comments.
Login now