2014-08-31 16:13:39 +04:00
|
|
|
'''test helper extension to create commits with multiple extra fields'''
|
|
|
|
|
|
|
|
from mercurial import cmdutil, commands, scmutil
|
|
|
|
|
|
|
|
cmdtable = {}
|
2017-05-23 01:45:54 +03:00
|
|
|
try:
|
|
|
|
from mercurial import registrar
|
|
|
|
command = registrar.command(cmdtable)
|
|
|
|
except (ImportError, AttributeError):
|
|
|
|
command = cmdutil.command(cmdtable)
|
2014-08-31 16:13:39 +04:00
|
|
|
testedwith = 'internal'
|
|
|
|
|
|
|
|
@command('commitextra',
|
|
|
|
[('', 'field', [],
|
|
|
|
'extra data to store', 'FIELD=VALUE'),
|
|
|
|
] + commands.commitopts + commands.commitopts2,
|
|
|
|
'commitextra')
|
|
|
|
def commitextra(ui, repo, *pats, **opts):
|
|
|
|
'''make a commit with extra fields'''
|
|
|
|
fields = opts.get('field')
|
|
|
|
extras = {}
|
|
|
|
for field in fields:
|
|
|
|
k, v = field.split('=', 1)
|
|
|
|
extras[k] = v
|
|
|
|
message = cmdutil.logmessage(ui, opts)
|
|
|
|
repo.commit(message, opts.get('user'), opts.get('date'),
|
|
|
|
match=scmutil.match(repo[None], pats, opts), extra=extras)
|
|
|
|
return 0
|