Mercurial > hg-stable
annotate hg @ 42636:12addcc7956c
rust-filepatterns: unescape comment character property
There were multiple issues in the original implementation:
a. the local variable "line" dropped soon after replace_slice() applied
b. replace_slice() was noop since br"\#".len() != b"#"
This patch uses bytes::Regex::replace_all() since it seems the simplest way
to replace bytes of arbitrary length, and I don't think we have to avoid
using Regexp here.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 21 Jul 2019 14:42:01 +0900 |
parents | 5e78c100a215 |
children | 5c9c71cde1c9 |
rev | line source |
---|---|
0
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
1 #!/usr/bin/env python |
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
2 # |
1698 | 3 # mercurial - scalable distributed SCM |
0
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
4 # |
4635
63b9d2deed48
Updated copyright notices and add "and others" to "hg version"
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3877
diff
changeset
|
5 # Copyright 2005-2007 Matt Mackall <mpm@selenic.com> |
0
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
6 # |
8225
46293a0c7e9f
updated license to be explicit about GPL version 2
Martin Geisler <mg@lazybytes.net>
parents:
7672
diff
changeset
|
7 # This software may be used and distributed according to the terms of the |
10263 | 8 # GNU General Public License version 2 or any later version. |
33914
1900381b6a6e
hg: update top-level script to use modern import conventions
Augie Fackler <raf@durin42.com>
parents:
32462
diff
changeset
|
9 from __future__ import absolute_import |
0
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
10 |
12661
10da5a1f25dd
setup/hg: always load Mercurial from where it was installed.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
11 import os |
10da5a1f25dd
setup/hg: always load Mercurial from where it was installed.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
12 import sys |
10da5a1f25dd
setup/hg: always load Mercurial from where it was installed.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
13 |
21812
73e4a02e6d23
hg: add support for HGUNICODEPEDANTRY environment variable
Augie Fackler <raf@durin42.com>
parents:
14233
diff
changeset
|
14 if os.environ.get('HGUNICODEPEDANTRY', False): |
29172
2ea9c9aa6e60
hg: limit HGUNICODEPEDANTRY to py2
timeless <timeless@mozdev.org>
parents:
21812
diff
changeset
|
15 try: |
2ea9c9aa6e60
hg: limit HGUNICODEPEDANTRY to py2
timeless <timeless@mozdev.org>
parents:
21812
diff
changeset
|
16 reload(sys) |
2ea9c9aa6e60
hg: limit HGUNICODEPEDANTRY to py2
timeless <timeless@mozdev.org>
parents:
21812
diff
changeset
|
17 sys.setdefaultencoding("undefined") |
2ea9c9aa6e60
hg: limit HGUNICODEPEDANTRY to py2
timeless <timeless@mozdev.org>
parents:
21812
diff
changeset
|
18 except NameError: |
2ea9c9aa6e60
hg: limit HGUNICODEPEDANTRY to py2
timeless <timeless@mozdev.org>
parents:
21812
diff
changeset
|
19 pass |
21812
73e4a02e6d23
hg: add support for HGUNICODEPEDANTRY environment variable
Augie Fackler <raf@durin42.com>
parents:
14233
diff
changeset
|
20 |
12661
10da5a1f25dd
setup/hg: always load Mercurial from where it was installed.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
21 libdir = '@LIBDIR@' |
10da5a1f25dd
setup/hg: always load Mercurial from where it was installed.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
22 |
10da5a1f25dd
setup/hg: always load Mercurial from where it was installed.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
23 if libdir != '@' 'LIBDIR' '@': |
10da5a1f25dd
setup/hg: always load Mercurial from where it was installed.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
24 if not os.path.isabs(libdir): |
12805
cae1c187abd4
setup/hg: handle hg being a symlink when appending relative libdir to sys.path
L. David Baron <dbaron@dbaron.org>
parents:
12661
diff
changeset
|
25 libdir = os.path.join(os.path.dirname(os.path.realpath(__file__)), |
cae1c187abd4
setup/hg: handle hg being a symlink when appending relative libdir to sys.path
L. David Baron <dbaron@dbaron.org>
parents:
12661
diff
changeset
|
26 libdir) |
12661
10da5a1f25dd
setup/hg: always load Mercurial from where it was installed.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
27 libdir = os.path.abspath(libdir) |
10da5a1f25dd
setup/hg: always load Mercurial from where it was installed.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
28 sys.path.insert(0, libdir) |
10da5a1f25dd
setup/hg: always load Mercurial from where it was installed.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
10263
diff
changeset
|
29 |
39608
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
30 from hgdemandimport import tracing |
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
31 with tracing.log('hg script'): |
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
32 # enable importing on demand to reduce startup time |
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
33 try: |
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
34 if sys.version_info[0] < 3 or sys.version_info >= (3, 6): |
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
35 import hgdemandimport; hgdemandimport.enable() |
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
36 except ImportError: |
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
37 sys.stderr.write("abort: couldn't find mercurial libraries in [%s]\n" % |
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
38 ' '.join(sys.path)) |
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
39 sys.stderr.write("(check your install and PYTHONPATH)\n") |
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
40 sys.exit(-1) |
5197
55860a45bbf2
Enable demandimport only in scripts, not in importable modules (issue605)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5178
diff
changeset
|
41 |
39608
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
42 from mercurial import dispatch |
5e78c100a215
hg: wrap the highest layer in the `hg` script possible in trace event
Augie Fackler <augie@google.com>
parents:
34533
diff
changeset
|
43 dispatch.run() |