Commit Graph

735 Commits

Author SHA1 Message Date
Renato Cunha
c4578da8bf contrib/setup3k.py: added script to build hg with py3k
This patch implements a script that inherits most of its functionality from
hg's setup.py and adds support to calling 2to3 during invocation with python3.
The motivation of having this script around is twofold:

 1) It enables py3k crazies to test mercurial in py3k and, hopefully, patch it
    more easily, so it can improve the py3k support to eventually run there.

 2) Being separated from the main setup.py eliminates the need to make hg's
    setup.py even more cluttered, and enables "independent" development until
    the port is done.

Some considerations about the structure of this patch:

Mercurial already overrides the behavior of build_py, this patch tweaks it a bit
more to add support to call 2to3 with a custom fixer* location for Mercurial.
There is also a need of having the core C modules built *before* the
translation process starts, otherwise 2to3 will think those are global modules.

* A fixer is a python module that transforms python 2.x code in python 3.x
code.
2010-08-03 13:18:16 -03:00
Pradeepkumar Gayam
a444183249 contrib: simple extension to practically convert a repo from tip delta to parentdelta 2010-08-10 22:28:30 +05:30
Martin Geisler
ec0bf03276 Merge with stable 2010-08-15 18:13:46 +02:00
Martin Geisler
888421d8ca check-code: catch "echo -n" in tests 2010-08-15 17:48:05 +02:00
Mads Kiilerich
e26e44a190 mercurial.spec: gettext is a build requirement for getting proper localization 2010-08-14 01:31:57 +02:00
Martin Geisler
e7bd3fc69a Merge with stable 2010-08-14 03:30:35 +02:00
Alecs King
00c728120d check-code: add exit status
so that we can use it in a shell command combination and/or in hg hooks.
2010-08-12 16:42:41 +08:00
Yann E. MORIN
af2d086089 mq/qqueue: enable bash completion
Return the list of available queues when completion is attempted on qqueue.
2010-08-08 23:10:08 +02:00
Renato Cunha
f65cf06e03 check-code: added a check for calls to the builtin cmp function 2010-08-07 16:13:53 -03:00
Yuya Nishihara
3cdd1e55b0 zsh completions: add qpush --move option 2010-08-07 15:32:33 +09:00
Renato Cunha
49c247ab1e hgfixes: added a fixer that makes bytes to be formatted correctly
This patch implement a fixer that replaces all calls to the '%' when bytes
arguments are used to a call to bytesformatter(), a function that knows how to
format byte strings. As one can't be sure if a formatting call is done when
only variables are used in a '%' call, these calls are also translated. The
bytesformatter, in runtime, makes sure to return the "raw" % operation if
that's what was intended.
2010-08-03 13:59:14 -03:00
Renato Cunha
48aa19eddb py3kcompat: added a "compatibility layer" for py3k
This patch adds some ugly constructs. The first of them is bytesformatter, a
function that formats strings like when '%' is called. The main motivation for
this function is py3k's strange behavior:

>>> 'foo %s' % b'bar'
"foo b'bar'"
>>> b'foo %s' % b'bar'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for %: 'bytes' and 'bytes'
>>> b'foo %s' % 'bar'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for %: 'bytes' and 'str'

In other words, if we can't format bytes with bytes, and recall that all
mercurial strings will be converted by a fixer, then things will break badly if
we don't take a similar approach.

The other addition with this patch is that the os.environ dictionary is
monkeypatched to have bytes items. Hopefully this won't be needed in the
future, as python 3.2 might get a os.environb dictionary that holds bytes
items.
2010-08-03 13:52:48 -03:00
Renato Cunha
09994866c3 hgfixes: add a fixer to convert plain strings to bytestrings
This patch implements a 2to3 fixer that converts all plain strings in a python
source file to byte strings syntax. Example:

foo = 'Normal string'

would become

foo = b'Normal string'

The motivation behind this fixer can be found in
http://selenic.com/pipermail/mercurial-devel/2010-June/022363.html or, in other
words: the current hg source assumes that _most_ strings are "meant" to be byte
sequences, so it makes sense to make the convertion implemented by this patch.

As mentioned above, not all mercurial modules want to use strings as bytes,
examples include i18n (which uses unicode), and demandimport (in py3k, module
names are normal strings, thus unicode, and there's no need for a convertion).
Therefore, these modules are blacklisted in the fixer. There are also a few
functions that can take only unicode arguments, thus the convertion shouldn't
be done for those.
2010-08-03 13:41:47 -03:00
Nicolas Dumazet
3186d42f7f perf: break down long line 2010-07-31 11:41:42 +09:00
Pradeepkumar Gayam
02c67b2a97 perf: add perfrevlog function to check performance of revlog 2010-07-27 20:50:09 +05:30
Matt Mackall
661034417e check-code: add warning on lines over 80 characters 2010-07-25 17:10:32 -05:00
Brodie Rao
bfa13e8d9a bash/zsh completion: use HGPLAIN when invoking hg (issue2297) 2010-07-21 17:06:00 -04:00
Martin Geisler
71971a8928 check-code: warn about untranslated ui.warn calls 2010-07-16 14:40:57 +02:00
Martin Geisler
177012ed6e Merge with stable 2010-07-22 10:49:55 +02:00
Vishakh H
dc91b670e1 contrib: add debugshell extension 2010-07-20 23:29:49 +05:30
Matt Mackall
6c780d7b4f check-code: add --blame switch 2010-07-16 13:26:39 -05:00
Martin Geisler
12085cad2b check-code: catch dict.has_key 2010-07-16 14:48:52 +02:00
Martin Geisler
f985c9d777 Merge with stable 2010-07-16 14:45:52 +02:00
Renato Cunha
29ee0d7c07 check-code: added check for reduce usage 2010-07-14 23:15:03 -03:00
Renato Cunha
f678753e0c check-code: check for tuple parameter unpacking (missing in py3k) 2010-07-14 23:15:00 -03:00
Martin Geisler
5fbbb27c25 Merge with stable 2010-07-09 14:21:45 +02:00
Martin Geisler
59385f10e8 check-code: add test for callable 2010-07-09 14:01:55 +02:00
Martin Geisler
9fd4048b8f Merge with stable 2010-07-06 20:43:19 +02:00
Martin Geisler
fabfcd3971 mergetools.hgrc: add vimdiff
Imported from deb_specific__mergetools patch in Debians patch queue:

  http://svn.debian.org/viewsvn/python-apps/packages/mercurial/trunk/debian/patches/
2010-07-03 02:15:25 +02:00
Martin Geisler
6ae5a495d7 hgweb.wsgi: add a URL to the corresponding wiki documentation
Imported for_upstream__add_doc_url_in_example_files.patch from
Debian's patch queue:

  http://svn.debian.org/viewsvn/python-apps/packages/mercurial/trunk/debian/patches/
2010-07-03 01:48:50 +02:00
Steve Borho
3f177d32a4 wix: generate a new GUID for the help folder
A GUID change is recommended after changes like 857ab17725c0
2010-07-01 19:13:23 -05:00
Steve Borho
a10936e8ce wix: pick up new help topics added between 1.5 and 1.6
These files are not included the 1.6.0 installer, but will be picked up by
nightly builds as soon as this makes it to the stable branch.
2010-07-01 12:53:37 -05:00
Mads Kiilerich
20a31caeb0 mercurial.spec: don't include convert-repo - use "hg convert" instead 2010-06-25 19:59:22 +02:00
Gilles Moris
b51db262e6 contrib: update tcsh_completion with commands for 1.6
Added the following commands: debugbuilddag debugdag debugpushkey
debugrevspec.
2010-06-26 15:56:48 +02:00
Martin Geisler
5bd48f2f1e check-code: reformat long lines 2010-06-15 10:01:55 +02:00
Martin Geisler
28297c8184 check-code: catch format(), introduced in Python 2.6 2010-06-15 09:55:59 +02:00
Martin Geisler
5d9db0b74d check-code: fix check for any/all function
The old check would only detect any/all at the beginning of a line.
The regexp was probably just modeled after the preceding regexp which
(correctly) finds the 'with' keyword at the beginning of a line.

We now complain about 'any(' and 'all(' anywhere in a line, unless it
is preceded by 'def'. This allows us to define our own compatibility
wrapper in util and use 'util.any(' in the code.
2010-06-15 09:51:52 +02:00
Steve Borho
74a14c2364 mergetools: add configuration for Ultra Compare (issue2226)
Initial config provided by Tim Pietzcker
2010-06-08 11:58:09 -05:00
Pradeepkumar Gayam
ade05bacc0 shrink-repo: wrong variable name 2010-06-06 22:39:32 +05:30
Greg Ward
6e1d6aff0f shrink-revlog: use util.mktempcopy() to preserve mode of index file.
(There's still a chmod() call to manually preserve the mode of the
data file.)
2010-06-03 10:18:33 -04:00
Martin Geisler
ae18c6a910 win32text: mark this extension as deprecated 2010-06-02 14:54:25 +02:00
Martin Geisler
e73685cb49 Merge with stable 2010-06-02 14:40:31 +02:00
Greg Ward
cb24398037 shrink-revlog: preserve mode of the shrunken index and data file.
Otherwise, the shrunken index file always has mode 0600 thanks to
mkstemp(). This is annoying on a server, where multiple users may need
to read/write the manifest. chmod()ing the data file is not strictly
necessary, but it's nice for consistency.
2010-06-01 18:29:52 -04:00
Yuya Nishihara
ffeee8dfd0 check-code: add check for 'source' 2010-05-21 22:53:57 +09:00
Julian Cowley
270cd1a3b9 mercurial.spec: rename docutils to python-docutils in BuildRequires
Even though the name of the project is Docutils, most packagers use
the package name python-docutils to fit into the naming scheme of
other packages written in Python.  The name is used by Fedora, EPEL,
DAG, Mandriva, and a few other distributions.
2010-07-02 14:14:30 -10:00
Steve Borho
c76d6b8145 extdiff: add labels, read diff arguments from [merge-tools]
hgtk has been using these same configs since Feb. Users only have to name the
tools they would like to use, ex:

[extdiff]
kdiff3 =
meld =
2010-01-07 22:19:05 -06:00
David Champion
8d642796c6 give worst-case 'merge' merge-tool lowest priority
Another tool had -10 already.  Since 'merge' is clearly a worst-case
tool (internal), lowering to -100 ensures there's plenty of room for
slightly better cases.
2010-04-21 12:02:51 -05:00
Mads Kiilerich
df529b99ae contrib/mercurial.spec: Use DESTDIR variable and 'make install' 2010-04-19 11:31:19 +02:00
Adrian Buehlmann
a3eefcc44b wix: new GUID for contrib.guid
to comply with the component GUID rules of Windows Installer, applied to
the change 5f884a9e81ee
2010-04-27 09:47:33 +02:00
Mads Kiilerich
da86b3d27f contrib/mercurial.spec: drop git-viz
Follow-up to a8ccf53d3400
2010-04-19 11:00:36 +02:00