Mercurial > public > mercurial-scm > hg
annotate hgext/githelp.py @ 35714:113281667205
githelp: vendor Facebook authored extension
This commit vendors the Facebook-authored "githelp" extension. This
extension provides a "githelp" command that can be used to try to
convert a `git` command to its Mercurial equivalent. This functionality
is useful for Git users learning Mercurial.
The extension was copied from the
repository at revision 32ceeccb832c433b36e9af8196814b8e5a526775. The
following modifications were made:
* The "testedwith" value has been changed to match core's conventions.
* Support for a custom footer has been removed, as it is Facebook
specific. The feature is useful. But the implementation wasn't
appropriate for core.
* A test referencing "tweakdefaults" has been removed.
* Imports changed to match Mercurial's style convention.
* Double newlines in test removed.
* Pager activation changed to ui.pager().
* Initial line of githelp.py changed to add description of file.
The removal of the custom footer code was the only significant
source change. The rest were mostly cosmetic.
There are still some Facebook-isms in the extension. I'll address
these as follow-ups.
.. feature:: githelp extension
The "githelp" extension provides the ``hg githelp`` command. This
command attempts to convert a ``git`` command to its Mercurial
equivalent. The extension can be useful to Git users new to
Mercurial.
Differential Revision: https://phab.mercurial-scm.org/D1722
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 18 Dec 2017 20:44:59 -0800 |
parents | |
children | 8dbd000f7de9 |
rev | line source |
---|---|
35714
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1 # githelp.py - Try to map Git commands to Mercurial equivalents. |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
2 # |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
3 # Copyright 2013 Facebook, Inc. |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
4 # |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
5 # This software may be used and distributed according to the terms of the |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
6 # GNU General Public License version 2 or any later version. |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
7 """try mapping git commands to Mercurial commands |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
8 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
9 Tries to map a given git command to a Mercurial command: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
10 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
11 $ hg githelp -- git checkout master |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
12 hg update master |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
13 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
14 If an unknown command or parameter combination is detected, an error is |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
15 produced. |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
16 """ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
17 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
18 from __future__ import absolute_import |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
19 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
20 import getopt |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
21 import re |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
22 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
23 from mercurial.i18n import _ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
24 from mercurial import ( |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
25 error, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
26 extensions, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
27 fancyopts, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
28 registrar, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
29 util, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
30 ) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
31 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
32 # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
33 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
34 # be specifying the version(s) of Mercurial they are tested with, or |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
35 # leave the attribute unspecified. |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
36 testedwith = 'ships-with-hg-core' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
37 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
38 cmdtable = {} |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
39 command = registrar.command(cmdtable) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
40 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
41 def convert(s): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
42 if s.startswith("origin/"): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
43 return s[7:] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
44 if 'HEAD' in s: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
45 s = s.replace('HEAD', '.') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
46 # HEAD~ in git is .~1 in mercurial |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
47 s = re.sub('~$', '~1', s) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
48 return s |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
49 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
50 @command('^githelp|git', [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
51 ], _('hg githelp')) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
52 def githelp(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
53 '''suggests the Mercurial equivalent of the given git command |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
54 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
55 Usage: hg githelp -- <git command> |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
56 ''' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
57 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
58 if len(args) == 0 or (len(args) == 1 and args[0] =='git'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
59 raise error.Abort(_('missing git command - ' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
60 'usage: hg githelp -- <git command>')) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
61 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
62 if args[0] == 'git': |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
63 args = args[1:] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
64 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
65 cmd = args[0] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
66 if not cmd in gitcommands: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
67 raise error.Abort("error: unknown git command %s" % (cmd)) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
68 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
69 ui.pager('githelp') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
70 args = args[1:] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
71 return gitcommands[cmd](ui, repo, *args, **kwargs) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
72 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
73 def parseoptions(ui, cmdoptions, args): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
74 cmdoptions = list(cmdoptions) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
75 opts = {} |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
76 args = list(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
77 while True: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
78 try: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
79 args = fancyopts.fancyopts(list(args), cmdoptions, opts, True) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
80 break |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
81 except getopt.GetoptError as ex: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
82 flag = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
83 if "requires argument" in ex.msg: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
84 raise |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
85 if ('--' + ex.opt) in ex.msg: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
86 flag = '--' + ex.opt |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
87 elif ('-' + ex.opt) in ex.msg: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
88 flag = '-' + ex.opt |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
89 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
90 raise error.Abort("unknown option %s" % ex.opt) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
91 try: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
92 args.remove(flag) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
93 except Exception: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
94 raise error.Abort( |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
95 "unknown option {0} packed with other options\n" |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
96 "Please try passing the option as it's own flag: -{0}" \ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
97 .format(ex.opt)) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
98 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
99 ui.warn(_("ignoring unknown option %s\n") % flag) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
100 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
101 args = list([convert(x) for x in args]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
102 opts = dict([(k, convert(v)) if isinstance(v, str) else (k, v) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
103 for k, v in opts.iteritems()]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
104 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
105 return args, opts |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
106 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
107 class Command(object): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
108 def __init__(self, name): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
109 self.name = name |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
110 self.args = [] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
111 self.opts = {} |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
112 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
113 def __str__(self): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
114 cmd = "hg " + self.name |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
115 if self.opts: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
116 for k, values in sorted(self.opts.iteritems()): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
117 for v in values: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
118 if v: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
119 cmd += " %s %s" % (k, v) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
120 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
121 cmd += " %s" % (k,) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
122 if self.args: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
123 cmd += " " |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
124 cmd += " ".join(self.args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
125 return cmd |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
126 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
127 def append(self, value): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
128 self.args.append(value) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
129 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
130 def extend(self, values): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
131 self.args.extend(values) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
132 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
133 def __setitem__(self, key, value): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
134 values = self.opts.setdefault(key, []) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
135 values.append(value) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
136 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
137 def __and__(self, other): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
138 return AndCommand(self, other) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
139 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
140 class AndCommand(object): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
141 def __init__(self, left, right): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
142 self.left = left |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
143 self.right = right |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
144 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
145 def __str__(self): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
146 return "%s && %s" % (self.left, self.right) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
147 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
148 def __and__(self, other): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
149 return AndCommand(self, other) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
150 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
151 def add(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
152 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
153 ('A', 'all', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
154 ('p', 'patch', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
155 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
156 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
157 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
158 if (opts.get('patch')): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
159 ui.status(_("note: hg crecord has a better UI to record changes\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
160 ui.status(_("note: record and crecord will commit when complete, " |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
161 "as there is no staging area in mercurial\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
162 cmd = Command('record') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
163 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
164 cmd = Command("add") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
165 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
166 if not opts.get('all'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
167 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
168 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
169 ui.status(_("note: use hg addremove to remove files that have " |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
170 "been deleted.\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
171 if not opts.get('all'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
172 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
173 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
174 ui.status(_("note: use hg addremove to remove files that have " |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
175 "been deleted.\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
176 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
177 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
178 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
179 def am(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
180 cmdoptions=[ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
181 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
182 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
183 cmd = Command('mimport -m') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
184 ui.status(str(cmd), "\n\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
185 ui.status(_("note: requires the MboxExtension and the MqExtension.\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
186 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
187 def apply(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
188 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
189 ('p', 'p', int, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
190 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
191 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
192 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
193 cmd = Command('import --no-commit') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
194 if (opts.get('p')): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
195 cmd['-p'] = opts.get('p') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
196 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
197 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
198 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
199 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
200 def bisect(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
201 ui.status(_("See 'hg help bisect' for how to use bisect.\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
202 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
203 def blame(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
204 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
205 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
206 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
207 try: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
208 # If tweakdefaults is enabled then we have access to -p, which adds |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
209 # Phabricator diff ID |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
210 extensions.find('tweakdefaults') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
211 cmd = Command('annotate -pudl') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
212 except KeyError: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
213 cmd = Command('annotate -udl') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
214 cmd.extend([convert(v) for v in args]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
215 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
216 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
217 def branch(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
218 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
219 ('', 'set-upstream', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
220 ('', 'set-upstream-to', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
221 ('d', 'delete', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
222 ('D', 'delete', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
223 ('m', 'move', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
224 ('M', 'move', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
225 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
226 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
227 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
228 cmd = Command("bookmark") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
229 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
230 if opts.get('set_upstream') or opts.get('set_upstream_to'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
231 ui.status(_("Mercurial has no concept of upstream branches\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
232 return |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
233 elif opts.get('delete'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
234 cmd = Command("strip") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
235 for branch in args: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
236 cmd['-B'] = branch |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
237 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
238 cmd['-B'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
239 elif opts.get('move'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
240 if len(args) > 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
241 if len(args) > 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
242 old = args.pop(0) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
243 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
244 # shell command to output the active bookmark for the active |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
245 # revision |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
246 old = '`hg log -T"{activebookmark}" -r .`' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
247 new = args[0] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
248 cmd['-m'] = old |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
249 cmd.append(new) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
250 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
251 if len(args) > 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
252 cmd['-r'] = args[1] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
253 cmd.append(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
254 elif len(args) == 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
255 cmd.append(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
256 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
257 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
258 def ispath(repo, string): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
259 """ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
260 The first argument to git checkout can either be a revision or a path. Let's |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
261 generally assume it's a revision, unless it's obviously a path. There are |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
262 too many ways to spell revisions in git for us to reasonably catch all of |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
263 them, so let's be conservative. |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
264 """ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
265 if string in repo: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
266 # if it's definitely a revision let's not even check if a file of the |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
267 # same name exists. |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
268 return False |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
269 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
270 cwd = repo.getcwd() |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
271 if cwd == '': |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
272 repopath = string |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
273 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
274 repopath = cwd + '/' + string |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
275 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
276 exists = repo.wvfs.exists(repopath) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
277 if exists: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
278 return True |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
279 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
280 manifest = repo['.'].manifest() |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
281 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
282 didexist = (repopath in manifest) or manifest.hasdir(repopath) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
283 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
284 return didexist |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
285 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
286 def checkout(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
287 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
288 ('b', 'branch', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
289 ('B', 'branch', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
290 ('f', 'force', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
291 ('p', 'patch', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
292 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
293 paths = [] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
294 if '--' in args: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
295 sepindex = args.index('--') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
296 paths.extend(args[sepindex + 1:]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
297 args = args[:sepindex] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
298 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
299 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
300 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
301 rev = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
302 if args and ispath(repo, args[0]): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
303 paths = args + paths |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
304 elif args: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
305 rev = args[0] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
306 paths = args[1:] + paths |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
307 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
308 cmd = Command('update') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
309 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
310 if opts.get('force'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
311 if paths or rev: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
312 cmd['-C'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
313 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
314 if opts.get('patch'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
315 cmd = Command('revert') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
316 cmd['-i'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
317 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
318 if opts.get('branch'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
319 if len(args) == 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
320 cmd = Command('bookmark') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
321 cmd.append(opts.get('branch')) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
322 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
323 cmd.append(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
324 bookcmd = Command('bookmark') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
325 bookcmd.append(opts.get('branch')) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
326 cmd = cmd & bookcmd |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
327 # if there is any path argument supplied, use revert instead of update |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
328 elif len(paths) > 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
329 ui.status(_("note: use --no-backup to avoid creating .orig files\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
330 cmd = Command('revert') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
331 if opts.get('patch'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
332 cmd['-i'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
333 if rev: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
334 cmd['-r'] = rev |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
335 cmd.extend(paths) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
336 elif rev: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
337 if opts.get('patch'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
338 cmd['-r'] = rev |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
339 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
340 cmd.append(rev) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
341 elif opts.get('force'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
342 cmd = Command('revert') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
343 cmd['--all'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
344 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
345 raise error.Abort("a commit must be specified") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
346 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
347 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
348 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
349 def cherrypick(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
350 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
351 ('', 'continue', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
352 ('', 'abort', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
353 ('e', 'edit', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
354 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
355 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
356 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
357 cmd = Command('graft') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
358 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
359 if opts.get('edit'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
360 cmd['--edit'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
361 if opts.get('continue'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
362 cmd['--continue'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
363 elif opts.get('abort'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
364 ui.status(_("note: hg graft does not have --abort.\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
365 return |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
366 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
367 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
368 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
369 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
370 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
371 def clean(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
372 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
373 ('d', 'd', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
374 ('f', 'force', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
375 ('x', 'x', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
376 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
377 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
378 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
379 cmd = Command('purge') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
380 if opts.get('x'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
381 cmd['--all'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
382 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
383 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
384 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
385 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
386 def clone(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
387 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
388 ('', 'bare', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
389 ('n', 'no-checkout', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
390 ('b', 'branch', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
391 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
392 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
393 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
394 if len(args) == 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
395 raise error.Abort("a repository to clone must be specified") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
396 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
397 cmd = Command('clone') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
398 cmd.append(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
399 if len(args) > 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
400 cmd.append(args[1]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
401 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
402 if opts.get('bare'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
403 cmd['-U'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
404 ui.status(_("note: Mercurial does not have bare clones. " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
405 "-U will clone the repo without checking out a commit\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
406 elif opts.get('no_checkout'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
407 cmd['-U'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
408 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
409 if opts.get('branch'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
410 cocmd = Command("update") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
411 cocmd.append(opts.get('branch')) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
412 cmd = cmd & cocmd |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
413 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
414 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
415 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
416 def commit(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
417 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
418 ('a', 'all', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
419 ('m', 'message', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
420 ('p', 'patch', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
421 ('C', 'reuse-message', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
422 ('F', 'file', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
423 ('', 'author', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
424 ('', 'date', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
425 ('', 'amend', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
426 ('', 'no-edit', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
427 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
428 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
429 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
430 cmd = Command('commit') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
431 if opts.get('patch'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
432 cmd = Command('record') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
433 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
434 if opts.get('amend'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
435 if opts.get('no_edit'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
436 cmd = Command('amend') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
437 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
438 cmd['--amend'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
439 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
440 if opts.get('reuse_message'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
441 cmd['-M'] = opts.get('reuse_message') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
442 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
443 if opts.get('message'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
444 cmd['-m'] = "'%s'" % (opts.get('message'),) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
445 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
446 if opts.get('all'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
447 ui.status(_("note: Mercurial doesn't have a staging area, " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
448 "so there is no --all. -A will add and remove files " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
449 "for you though.\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
450 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
451 if opts.get('file'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
452 cmd['-l'] = opts.get('file') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
453 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
454 if opts.get('author'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
455 cmd['-u'] = opts.get('author') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
456 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
457 if opts.get('date'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
458 cmd['-d'] = opts.get('date') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
459 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
460 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
461 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
462 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
463 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
464 def deprecated(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
465 ui.warn(_('This command has been deprecated in the git project, ' + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
466 'thus isn\'t supported by this tool.\n\n')) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
467 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
468 def diff(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
469 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
470 ('a', 'all', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
471 ('', 'cached', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
472 ('R', 'reverse', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
473 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
474 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
475 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
476 cmd = Command('diff') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
477 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
478 if opts.get('cached'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
479 ui.status(_('note: Mercurial has no concept of a staging area, ' + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
480 'so --cached does nothing.\n\n')) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
481 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
482 if opts.get('reverse'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
483 cmd['--reverse'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
484 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
485 for a in list(args): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
486 args.remove(a) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
487 try: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
488 repo.revs(a) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
489 cmd['-r'] = a |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
490 except Exception: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
491 cmd.append(a) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
492 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
493 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
494 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
495 def difftool(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
496 ui.status(_('Mercurial does not enable external difftool by default. You ' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
497 'need to enable the extdiff extension in your .hgrc file by adding\n' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
498 'extdiff =\n' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
499 'to the [extensions] section and then running\n\n' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
500 'hg extdiff -p <program>\n\n' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
501 'See \'hg help extdiff\' and \'hg help -e extdiff\' for more ' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
502 'information.\n')) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
503 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
504 def fetch(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
505 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
506 ('', 'all', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
507 ('f', 'force', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
508 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
509 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
510 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
511 cmd = Command('pull') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
512 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
513 if len(args) > 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
514 cmd.append(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
515 if len(args) > 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
516 ui.status(_("note: Mercurial doesn't have refspecs. " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
517 "-r can be used to specify which commits you want to pull. " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
518 "-B can be used to specify which bookmark you want to pull." + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
519 "\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
520 for v in args[1:]: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
521 if v in repo._bookmarks: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
522 cmd['-B'] = v |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
523 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
524 cmd['-r'] = v |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
525 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
526 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
527 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
528 def grep(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
529 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
530 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
531 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
532 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
533 cmd = Command('grep') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
534 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
535 # For basic usage, git grep and hg grep are the same. They both have the |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
536 # pattern first, followed by paths. |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
537 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
538 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
539 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
540 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
541 def init(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
542 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
543 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
544 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
545 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
546 cmd = Command('init') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
547 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
548 if len(args) > 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
549 cmd.append(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
550 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
551 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
552 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
553 def log(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
554 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
555 ('', 'follow', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
556 ('', 'decorate', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
557 ('n', 'number', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
558 ('1', '1', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
559 ('', 'pretty', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
560 ('', 'format', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
561 ('', 'oneline', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
562 ('', 'stat', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
563 ('', 'graph', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
564 ('p', 'patch', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
565 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
566 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
567 ui.status(_('note: -v prints the entire commit message like Git does. To ' + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
568 'print just the first line, drop the -v.\n\n')) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
569 ui.status(_("note: see hg help revset for information on how to filter " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
570 "log output.\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
571 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
572 cmd = Command('log') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
573 cmd['-v'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
574 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
575 if opts.get('number'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
576 cmd['-l'] = opts.get('number') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
577 if opts.get('1'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
578 cmd['-l'] = '1' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
579 if opts.get('stat'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
580 cmd['--stat'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
581 if opts.get('graph'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
582 cmd['-G'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
583 if opts.get('patch'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
584 cmd['-p'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
585 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
586 if opts.get('pretty') or opts.get('format') or opts.get('oneline'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
587 format = opts.get('format', '') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
588 if 'format:' in format: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
589 ui.status(_("note: --format format:??? equates to Mercurial's " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
590 "--template. See hg help templates for more info.\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
591 cmd['--template'] = '???' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
592 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
593 ui.status(_("note: --pretty/format/oneline equate to Mercurial's " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
594 "--style or --template. See hg help templates for more info." + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
595 "\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
596 cmd['--style'] = '???' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
597 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
598 if len(args) > 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
599 if '..' in args[0]: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
600 since, until = args[0].split('..') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
601 cmd['-r'] = "'%s::%s'" % (since, until) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
602 del args[0] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
603 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
604 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
605 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
606 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
607 def lsfiles(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
608 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
609 ('c', 'cached', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
610 ('d', 'deleted', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
611 ('m', 'modified', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
612 ('o', 'others', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
613 ('i', 'ignored', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
614 ('s', 'stage', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
615 ('z', '_zero', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
616 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
617 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
618 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
619 if (opts.get('modified') or opts.get('deleted') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
620 or opts.get('others') or opts.get('ignored')): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
621 cmd = Command('status') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
622 if opts.get('deleted'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
623 cmd['-d'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
624 if opts.get('modified'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
625 cmd['-m'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
626 if opts.get('others'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
627 cmd['-o'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
628 if opts.get('ignored'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
629 cmd['-i'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
630 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
631 cmd = Command('files') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
632 if opts.get('stage'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
633 ui.status(_("note: Mercurial doesn't have a staging area, ignoring " |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
634 "--stage\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
635 if opts.get('_zero'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
636 cmd['-0'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
637 cmd.append('.') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
638 for include in args: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
639 cmd['-I'] = util.shellquote(include) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
640 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
641 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
642 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
643 def merge(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
644 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
645 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
646 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
647 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
648 cmd = Command('merge') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
649 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
650 if len(args) > 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
651 cmd.append(args[len(args) - 1]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
652 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
653 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
654 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
655 def mergebase(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
656 cmdoptions = [] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
657 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
658 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
659 if len(args) != 2: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
660 args = ['A', 'B'] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
661 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
662 cmd = Command("log -T '{node}\\n' -r 'ancestor(%s,%s)'" |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
663 % (args[0], args[1])) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
664 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
665 ui.status(_('NOTE: ancestors() is part of the revset language.\n'), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
666 _("Learn more about revsets with 'hg help revsets'\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
667 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
668 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
669 def mergetool(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
670 cmdoptions = [] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
671 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
672 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
673 cmd = Command("resolve") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
674 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
675 if len(args) == 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
676 cmd['--all'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
677 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
678 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
679 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
680 def mv(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
681 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
682 ('f', 'force', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
683 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
684 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
685 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
686 cmd = Command('mv') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
687 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
688 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
689 if opts.get('force'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
690 cmd['-f'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
691 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
692 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
693 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
694 def pull(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
695 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
696 ('', 'all', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
697 ('f', 'force', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
698 ('r', 'rebase', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
699 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
700 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
701 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
702 cmd = Command('pull') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
703 cmd['--rebase'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
704 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
705 if len(args) > 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
706 cmd.append(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
707 if len(args) > 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
708 ui.status(_("note: Mercurial doesn't have refspecs. " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
709 "-r can be used to specify which commits you want to pull. " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
710 "-B can be used to specify which bookmark you want to pull." + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
711 "\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
712 for v in args[1:]: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
713 if v in repo._bookmarks: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
714 cmd['-B'] = v |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
715 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
716 cmd['-r'] = v |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
717 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
718 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
719 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
720 def push(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
721 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
722 ('', 'all', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
723 ('f', 'force', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
724 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
725 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
726 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
727 cmd = Command('push') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
728 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
729 if len(args) > 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
730 cmd.append(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
731 if len(args) > 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
732 ui.status(_("note: Mercurial doesn't have refspecs. " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
733 "-r can be used to specify which commits you want to push. " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
734 "-B can be used to specify which bookmark you want to push." + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
735 "\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
736 for v in args[1:]: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
737 if v in repo._bookmarks: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
738 cmd['-B'] = v |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
739 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
740 cmd['-r'] = v |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
741 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
742 if opts.get('force'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
743 cmd['-f'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
744 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
745 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
746 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
747 def rebase(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
748 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
749 ('', 'all', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
750 ('i', 'interactive', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
751 ('', 'onto', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
752 ('', 'abort', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
753 ('', 'continue', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
754 ('', 'skip', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
755 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
756 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
757 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
758 if opts.get('interactive'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
759 ui.status(_("note: hg histedit does not perform a rebase. " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
760 "It just edits history.\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
761 cmd = Command('histedit') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
762 if len(args) > 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
763 ui.status(_("also note: 'hg histedit' will automatically detect" |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
764 " your stack, so no second argument is necessary.\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
765 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
766 return |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
767 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
768 if opts.get('skip'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
769 cmd = Command('revert --all -r .') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
770 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
771 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
772 cmd = Command('rebase') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
773 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
774 if opts.get('continue') or opts.get('skip'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
775 cmd['--continue'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
776 if opts.get('abort'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
777 cmd['--abort'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
778 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
779 if opts.get('onto'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
780 ui.status(_("note: if you're trying to lift a commit off one branch, " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
781 "try hg rebase -d <destination commit> -s <commit to be lifted>" + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
782 "\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
783 cmd['-d'] = convert(opts.get('onto')) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
784 if len(args) < 2: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
785 raise error.Abort("Expected format: git rebase --onto X Y Z") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
786 cmd['-s'] = "'::%s - ::%s'" % (convert(args[1]), convert(args[0])) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
787 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
788 if len(args) == 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
789 cmd['-d'] = convert(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
790 elif len(args) == 2: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
791 cmd['-d'] = convert(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
792 cmd['-b'] = convert(args[1]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
793 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
794 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
795 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
796 def reflog(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
797 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
798 ('', 'all', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
799 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
800 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
801 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
802 cmd = Command('journal') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
803 if opts.get('all'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
804 cmd['--all'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
805 if len(args) > 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
806 cmd.append(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
807 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
808 ui.status(str(cmd), "\n\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
809 ui.status(_("note: in hg commits can be deleted from repo but we always" |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
810 " have backups.\n" |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
811 "Please use 'hg backups --restore' or 'hg reset'" + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
812 " to restore from backups.\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
813 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
814 def reset(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
815 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
816 ('', 'soft', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
817 ('', 'hard', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
818 ('', 'mixed', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
819 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
820 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
821 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
822 commit = convert(args[0] if len(args) > 0 else '.') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
823 hard = opts.get('hard') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
824 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
825 if opts.get('mixed'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
826 ui.status(_('NOTE: --mixed has no meaning since mercurial has no ' + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
827 'staging area\n\n')) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
828 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
829 cmd = Command('reset') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
830 if hard: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
831 cmd.append('--clean') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
832 cmd.append(commit) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
833 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
834 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
835 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
836 def revert(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
837 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
838 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
839 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
840 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
841 if len(args) > 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
842 ui.status(_("note: hg backout doesn't support multiple commits at " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
843 "once\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
844 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
845 cmd = Command('backout') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
846 if args: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
847 cmd.append(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
848 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
849 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
850 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
851 def revparse(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
852 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
853 ('', 'show-cdup', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
854 ('', 'show-toplevel', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
855 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
856 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
857 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
858 if opts.get('show_cdup') or opts.get('show_toplevel'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
859 cmd = Command('root') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
860 if opts.get('show_cdup'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
861 ui.status(_("note: hg root prints the root of the repository\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
862 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
863 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
864 ui.status(_("note: see hg help revset for how to refer to commits\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
865 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
866 def rm(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
867 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
868 ('f', 'force', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
869 ('n', 'dry-run', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
870 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
871 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
872 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
873 cmd = Command('rm') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
874 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
875 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
876 if opts.get('force'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
877 cmd['-f'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
878 if opts.get('dry_run'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
879 cmd['-n'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
880 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
881 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
882 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
883 def show(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
884 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
885 ('', 'name-status', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
886 ('', 'pretty', '', ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
887 ('U', 'unified', int, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
888 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
889 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
890 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
891 cmd = Command('show') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
892 if opts.get('name_status'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
893 if opts.get('pretty') == 'format:': |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
894 cmd = Command('stat') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
895 cmd['--change'] = 'tip' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
896 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
897 cmd = Command('log') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
898 cmd.append('--style status') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
899 cmd.append('-r tip') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
900 elif len(args) > 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
901 if ispath(repo, args[0]): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
902 cmd.append('.') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
903 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
904 if opts.get('unified'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
905 cmd.append('--config diff.unified=%d' % (opts['unified'],)) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
906 elif opts.get('unified'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
907 cmd.append('--config diff.unified=%d' % (opts['unified'],)) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
908 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
909 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
910 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
911 def stash(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
912 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
913 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
914 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
915 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
916 cmd = Command('shelve') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
917 action = args[0] if len(args) > 0 else None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
918 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
919 if action == 'list': |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
920 cmd['-l'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
921 elif action == 'drop': |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
922 cmd['-d'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
923 if len(args) > 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
924 cmd.append(args[1]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
925 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
926 cmd.append('<shelve name>') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
927 elif action == 'pop' or action == 'apply': |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
928 cmd = Command('unshelve') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
929 if len(args) > 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
930 cmd.append(args[1]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
931 if action == 'apply': |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
932 cmd['--keep'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
933 elif (action == 'branch' or action == 'show' or action == 'clear' |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
934 or action == 'create'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
935 ui.status(_("note: Mercurial doesn't have equivalents to the " + |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
936 "git stash branch, show, clear, or create actions.\n\n")) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
937 return |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
938 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
939 if len(args) > 0: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
940 if args[0] != 'save': |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
941 cmd['--name'] = args[0] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
942 elif len(args) > 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
943 cmd['--name'] = args[1] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
944 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
945 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
946 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
947 def status(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
948 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
949 ('', 'ignored', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
950 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
951 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
952 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
953 cmd = Command('status') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
954 cmd.extend(args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
955 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
956 if opts.get('ignored'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
957 cmd['-i'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
958 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
959 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
960 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
961 def svn(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
962 svncmd = args[0] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
963 if not svncmd in gitsvncommands: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
964 ui.warn(_("error: unknown git svn command %s\n") % (svncmd)) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
965 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
966 args = args[1:] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
967 return gitsvncommands[svncmd](ui, repo, *args, **kwargs) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
968 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
969 def svndcommit(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
970 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
971 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
972 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
973 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
974 cmd = Command('push') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
975 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
976 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
977 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
978 def svnfetch(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
979 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
980 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
981 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
982 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
983 cmd = Command('pull') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
984 cmd.append('default-push') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
985 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
986 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
987 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
988 def svnfindrev(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
989 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
990 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
991 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
992 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
993 cmd = Command('log') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
994 cmd['-r'] = args[0] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
995 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
996 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
997 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
998 def svnrebase(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
999 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1000 ('l', 'local', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1001 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1002 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1003 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1004 pullcmd = Command('pull') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1005 pullcmd.append('default-push') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1006 rebasecmd = Command('rebase') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1007 rebasecmd.append('tip') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1008 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1009 cmd = pullcmd & rebasecmd |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1010 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1011 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1012 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1013 def tag(ui, repo, *args, **kwargs): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1014 cmdoptions = [ |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1015 ('f', 'force', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1016 ('l', 'list', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1017 ('d', 'delete', None, ''), |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1018 ] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1019 args, opts = parseoptions(ui, cmdoptions, args) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1020 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1021 if opts.get('list'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1022 cmd = Command('tags') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1023 else: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1024 cmd = Command('tag') |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1025 cmd.append(args[0]) |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1026 if len(args) > 1: |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1027 cmd['-r'] = args[1] |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1028 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1029 if opts.get('delete'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1030 cmd['--remove'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1031 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1032 if opts.get('force'): |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1033 cmd['-f'] = None |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1034 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1035 ui.status((str(cmd)), "\n") |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1036 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1037 gitcommands = { |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1038 'add': add, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1039 'am': am, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1040 'apply': apply, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1041 'bisect': bisect, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1042 'blame': blame, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1043 'branch': branch, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1044 'checkout': checkout, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1045 'cherry-pick': cherrypick, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1046 'clean': clean, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1047 'clone': clone, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1048 'commit': commit, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1049 'diff': diff, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1050 'difftool': difftool, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1051 'fetch': fetch, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1052 'grep': grep, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1053 'init': init, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1054 'log': log, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1055 'ls-files': lsfiles, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1056 'merge': merge, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1057 'merge-base': mergebase, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1058 'mergetool': mergetool, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1059 'mv': mv, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1060 'pull': pull, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1061 'push': push, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1062 'rebase': rebase, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1063 'reflog': reflog, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1064 'reset': reset, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1065 'revert': revert, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1066 'rev-parse': revparse, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1067 'rm': rm, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1068 'show': show, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1069 'stash': stash, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1070 'status': status, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1071 'svn': svn, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1072 'tag': tag, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1073 'whatchanged': deprecated, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1074 } |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1075 |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1076 gitsvncommands = { |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1077 'dcommit': svndcommit, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1078 'fetch': svnfetch, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1079 'find-rev': svnfindrev, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1080 'rebase': svnrebase, |
113281667205
githelp: vendor Facebook authored extension
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1081 } |