mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 15:57:43 +03:00
tags: move 'repo.tag' in the 'tags' module
Similar logic, pretty much nobody use this method (that creates a tag) so we move it into the 'tags' module were it belong.
This commit is contained in:
parent
f1cbb59e75
commit
8141af4eed
@ -650,35 +650,8 @@ class localrepository(object):
|
||||
return hook.hook(self.ui, self, name, throw, **args)
|
||||
|
||||
def tag(self, names, node, message, local, user, date, editor=False):
|
||||
'''tag a revision with one or more symbolic names.
|
||||
|
||||
names is a list of strings or, when adding a single tag, names may be a
|
||||
string.
|
||||
|
||||
if local is True, the tags are stored in a per-repository file.
|
||||
otherwise, they are stored in the .hgtags file, and a new
|
||||
changeset is committed with the change.
|
||||
|
||||
keyword arguments:
|
||||
|
||||
local: whether to store tags in non-version-controlled file
|
||||
(default False)
|
||||
|
||||
message: commit message to use if committing
|
||||
|
||||
user: name of user to use if committing
|
||||
|
||||
date: date tuple to use if committing'''
|
||||
|
||||
if not local:
|
||||
m = matchmod.exact(self.root, '', ['.hgtags'])
|
||||
if any(self.status(match=m, unknown=True, ignored=True)):
|
||||
raise error.Abort(_('working copy of .hgtags is changed'),
|
||||
hint=_('please commit .hgtags manually'))
|
||||
|
||||
self.tags() # instantiate the cache
|
||||
tagsmod._tag(self.unfiltered(), names, node, message, local, user, date,
|
||||
editor=editor)
|
||||
tagsmod.tag(self, names, node, message, local, user, date,
|
||||
editor=editor)
|
||||
|
||||
@filteredpropertycache
|
||||
def _tagscache(self):
|
||||
|
@ -395,6 +395,37 @@ def _writetagcache(ui, repo, valid, cachetags):
|
||||
except (OSError, IOError):
|
||||
pass
|
||||
|
||||
def tag(repo, names, node, message, local, user, date, editor=False):
|
||||
'''tag a revision with one or more symbolic names.
|
||||
|
||||
names is a list of strings or, when adding a single tag, names may be a
|
||||
string.
|
||||
|
||||
if local is True, the tags are stored in a per-repository file.
|
||||
otherwise, they are stored in the .hgtags file, and a new
|
||||
changeset is committed with the change.
|
||||
|
||||
keyword arguments:
|
||||
|
||||
local: whether to store tags in non-version-controlled file
|
||||
(default False)
|
||||
|
||||
message: commit message to use if committing
|
||||
|
||||
user: name of user to use if committing
|
||||
|
||||
date: date tuple to use if committing'''
|
||||
|
||||
if not local:
|
||||
m = matchmod.exact(repo.root, '', ['.hgtags'])
|
||||
if any(repo.status(match=m, unknown=True, ignored=True)):
|
||||
raise error.Abort(_('working copy of .hgtags is changed'),
|
||||
hint=_('please commit .hgtags manually'))
|
||||
|
||||
repo.tags() # instantiate the cache
|
||||
_tag(repo.unfiltered(), names, node, message, local, user, date,
|
||||
editor=editor)
|
||||
|
||||
def _tag(repo, names, node, message, local, user, date, extra=None,
|
||||
editor=False):
|
||||
if isinstance(names, str):
|
||||
|
Loading…
Reference in New Issue
Block a user