Mercurial > public > mercurial-scm > hg
comparison mercurial/commands.py @ 38323:48c52385e062
tag: use context manager for locks
Differential Revision: https://phab.mercurial-scm.org/D3746
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 14 Jun 2018 15:08:32 -0700 |
parents | e218ed5ba484 |
children | c924e7dbcd0f |
comparison
equal
deleted
inserted
replaced
38322:e218ed5ba484 | 38323:48c52385e062 |
---|---|
5354 lookup, using an existing branch name as a tag name is discouraged. | 5354 lookup, using an existing branch name as a tag name is discouraged. |
5355 | 5355 |
5356 Returns 0 on success. | 5356 Returns 0 on success. |
5357 """ | 5357 """ |
5358 opts = pycompat.byteskwargs(opts) | 5358 opts = pycompat.byteskwargs(opts) |
5359 wlock = lock = None | 5359 with repo.wlock(), repo.lock(): |
5360 try: | |
5361 wlock = repo.wlock() | |
5362 lock = repo.lock() | |
5363 rev_ = "." | 5360 rev_ = "." |
5364 names = [t.strip() for t in (name1,) + names] | 5361 names = [t.strip() for t in (name1,) + names] |
5365 if len(names) != len(set(names)): | 5362 if len(names) != len(set(names)): |
5366 raise error.Abort(_('tag names must be unique')) | 5363 raise error.Abort(_('tag names must be unique')) |
5367 for n in names: | 5364 for n in names: |
5428 scmutil.revsingle(repo, rev_).rev() == nullrev): | 5425 scmutil.revsingle(repo, rev_).rev() == nullrev): |
5429 raise error.Abort(_("cannot tag null revision")) | 5426 raise error.Abort(_("cannot tag null revision")) |
5430 | 5427 |
5431 tagsmod.tag(repo, names, node, message, opts.get('local'), | 5428 tagsmod.tag(repo, names, node, message, opts.get('local'), |
5432 opts.get('user'), date, editor=editor) | 5429 opts.get('user'), date, editor=editor) |
5433 finally: | |
5434 release(lock, wlock) | |
5435 | 5430 |
5436 @command('tags', formatteropts, '', intents={INTENT_READONLY}) | 5431 @command('tags', formatteropts, '', intents={INTENT_READONLY}) |
5437 def tags(ui, repo, **opts): | 5432 def tags(ui, repo, **opts): |
5438 """list repository tags | 5433 """list repository tags |
5439 | 5434 |