Mercurial > hg
annotate mercurial/strutil.py @ 23438:6e0ecb9a2e19
bundle2.processbundle: let callers request default behavior
This patch series is intended to allow bundle2 push reply part handlers to
make changes to the local repository; it has been developed in parallel with
an extension that allows the server to rebase incoming changesets while applying
them.
The default transaction getter for processbundle is a private function that
raises an exception; this diff lets calling code pass None as the transaction
getter to explicitly request this default behavior.
The next diff will check a config option to determine whether to provide a
transaction to the reply bundle processor. If one shouldn't be provided, the
code needs a way to specify that the default behavior should be used.
author | Eric Sumner <ericsumner@fb.com> |
---|---|
date | Mon, 24 Nov 2014 16:04:44 -0800 |
parents | 25e572394f5c |
children | b723f05ec49b |
rev | line source |
---|---|
2953 | 1 # strutil.py - string utilities for Mercurial |
2 # | |
3 # Copyright 2006 Vadim Gelfer <vadim.gelfer@gmail.com> | |
4 # | |
8225
46293a0c7e9f
updated license to be explicit about GPL version 2
Martin Geisler <mg@lazybytes.net>
parents:
8155
diff
changeset
|
5 # This software may be used and distributed according to the terms of the |
10263 | 6 # GNU General Public License version 2 or any later version. |
2953 | 7 |
8 def findall(haystack, needle, start=0, end=None): | |
9 if end is None: | |
10 end = len(haystack) | |
11 if end < 0: | |
12 end += len(haystack) | |
13 if start < 0: | |
14 start += len(haystack) | |
15 while start < end: | |
16 c = haystack.find(needle, start, end) | |
17 if c == -1: | |
18 break | |
19 yield c | |
20 start = c + 1 | |
21 | |
22 def rfindall(haystack, needle, start=0, end=None): | |
23 if end is None: | |
24 end = len(haystack) | |
25 if end < 0: | |
26 end += len(haystack) | |
27 if start < 0: | |
28 start += len(haystack) | |
29 while end >= 0: | |
30 c = haystack.rfind(needle, start, end) | |
31 if c == -1: | |
32 break | |
33 yield c | |
34 end = c - 1 |