Mercurial > public > mercurial-scm > hg
diff hgext/mq.py @ 7142:88f1b8081f1c
Prevent import over an applied patch (closes issue795)
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Sat, 18 Oct 2008 13:22:29 -0700 |
parents | f7fc5f5ecd62 |
children | fd3cba5e73ae |
line wrap: on
line diff
--- a/hgext/mq.py Sat Oct 18 11:43:45 2008 -0700 +++ b/hgext/mq.py Sat Oct 18 13:22:29 2008 -0700 @@ -2331,6 +2331,23 @@ repo.__class__ = mqrepo repo.mq = queue(ui, repo.join("")) +def uisetup(ui): + # override import to disallow importing over patch + importalias, importcmd = cmdutil.findcmd(ui, 'import', commands.table) + for alias, cmd in commands.table.iteritems(): + if cmd is importcmd: + importkey = alias + break + orig_import = importcmd[0] + def mqimport(ui, repo, patch1, *patches, **opts): + if hasattr(repo, 'abort_if_wdir_patched'): + repo.abort_if_wdir_patched(_('cannot import over an applied patch'), + opts.get('force')) + orig_import(ui, repo, patch1, *patches, **opts) + importcmd = list(importcmd) + importcmd[0] = mqimport + commands.table[importkey] = tuple(importcmd) + seriesopts = [('s', 'summary', None, _('print first line of patch header'))] cmdtable = {