annotate hgext/commitextras.py @ 33546:77c0c36654c8

commitextras: move fb extension to core which add extras to a commit This patch moves the Facebook extension to add extra fields to a commit to a in-core extension.
author Pulkit Goyal <7895pulkit@gmail.com>
date Wed, 12 Jul 2017 00:23:45 +0530
parents
children a6af8560494e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33546
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
1 # commitextras.py
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
2 #
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
3 # Copyright 2013 Facebook, Inc.
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
4 #
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
5 # This software may be used and distributed according to the terms of the
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
6 # GNU General Public License version 2 or any later version.
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
7
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
8 '''adds a new flag extras to commit'''
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
9
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
10 from __future__ import absolute_import
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
11
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
12 from mercurial.i18n import _
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
13 from mercurial import (
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
14 commands,
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
15 extensions,
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
16 registrar,
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
17 )
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
18
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
19 cmdtable = {}
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
20 command = registrar.command(cmdtable)
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
21 testedwith = 'ships-with-hg-core'
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
22
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
23 def extsetup(ui):
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
24 entry = extensions.wrapcommand(commands.table, 'commit', _commit)
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
25 options = entry[1]
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
26 options.append(('', 'extra', [],
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
27 _('set a changeset\'s extra values'), _("KEY=VALUE")))
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
28
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
29 def _commit(orig, ui, repo, *pats, **opts):
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
30 origcommit = repo.commit
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
31 try:
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
32 def _wrappedcommit(*innerpats, **inneropts):
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
33 extras = opts.get('extra')
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
34 if extras:
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
35 for raw in extras:
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
36 k, v = raw.split('=', 1)
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
37 inneropts['extra'][k] = v
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
38 return origcommit(*innerpats, **inneropts)
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
39
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
40 # This __dict__ logic is needed because the normal
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
41 # extension.wrapfunction doesn't seem to work.
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
42 repo.__dict__['commit'] = _wrappedcommit
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
43 return orig(ui, repo, *pats, **opts)
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
44 finally:
77c0c36654c8 commitextras: move fb extension to core which add extras to a commit
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
45 del repo.__dict__['commit']