Mercurial > public > mercurial-scm > hg
annotate mercurial/strutil.py @ 20398:2bc520bd0ce0
discovery: improve "note: unsynced remote changes!" warning
This note (which actually is a warning) frequently caused confusion.
"unsynced" is not a well established user-facing concept in Mercurial and the
message was not very specific or helpful.
Instead, show a messages like:
remote has heads on branch 'default' that are not known locally: 6c0482d977a3
and show it before aborting on "push creates new remote head". This will also
give more of a hint in the case where the branch has been closed remotely and
'hg heads' thus not would show any new heads after pulling.
A similar (but actually very different) message was addressed in 6b618aa08b6e.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Thu, 06 Feb 2014 02:19:38 +0100 |
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 |