sapling/mercurial
FUJIWARA Katsunori 2ae4c00003 bookmarks: prevent divergent bookmark from being updated unexpectedly
Before this patch, "@99" suffixed bookmark may be updated unexpectedly
by the bookmark value on the remote side at "hg pull", if all of "@1"
to "@99" suffixed bookmarks exist in the local repository, because
variable "n" still refers "@99" suffixed bookmark after the loop to
examine "@num" suffixes, even though it already exists in the local
repository.

This patch prevents divergent bookmark from being updated
unexpectedly, and shows warning message in such situation.

This patch uses original python script "seq.py" instead of "seq"
command to create sequence numbers in the test, because "seq" command
may not be available: it isn't defined in recent POSIX specification
(POSIX.1-2001 2013 Edition or XPG7)
2015-03-17 18:20:24 +09:00
..
default.d mergetools: drop incorrect quoting of diffargs variables 2015-01-28 02:28:38 +01:00
help hook: add a generic hook right before we commit a transaction 2015-03-09 22:50:49 -07:00
hgweb hgweb: replace 'ctx._repo' with 'ctx.repo()' 2015-03-12 23:15:06 -04:00
httpclient style: kill ersatz if-else ternary operators 2015-03-13 17:00:06 -04:00
pure manifest: move pure parsing code out of pure 2015-03-06 17:00:42 -06:00
templates merge with stable 2015-03-16 13:41:45 -05:00
__init__.py
ancestor.py ancestor: add a way to remove ancestors of bases from a given set 2014-11-14 19:40:30 -08:00
archival.py archive: change the default prefix to '' from None 2015-02-15 17:21:48 -05:00
base85.c
bdiff.c bdiff: avoid a memory error on malloc failure 2013-10-30 16:03:42 -05:00
bookmarks.py bookmarks: prevent divergent bookmark from being updated unexpectedly 2015-03-17 18:20:24 +09:00
branchmap.py revisionbranchcache: fall back to slow path if starting readonly (issue4531) 2015-02-06 02:52:10 +01:00
bundle2.py bundle2: fix parttype enforcement 2015-01-17 18:08:47 -08:00
bundlerepo.py style: kill ersatz if-else ternary operators 2015-03-13 17:00:06 -04:00
byterange.py style: kill ersatz if-else ternary operators 2015-03-13 17:00:06 -04:00
changegroup.py changegroup: emit full-replacement deltas if either revision is censored 2015-01-21 22:09:32 -05:00
changelog.py revlog: add __contains__ for fast membership test 2015-02-04 21:25:57 +09:00
cmdutil.py record: minor refactoring of dorecord 2015-03-12 17:50:23 -07:00
commands.py record: change interface of dorecord to accept new filters 2015-03-11 16:39:38 -07:00
commandserver.py cmdserver: include pid of server handling requests in hello message 2014-10-18 12:24:50 +09:00
config.py config: use util.re.compile instead of util.compilere 2014-07-15 14:50:58 -07:00
context.py filectx: add a repo accessor 2015-03-13 20:34:52 -04:00
copies.py copies: added manifests to computenonoverlap 2015-03-10 13:56:05 -07:00
crecord.py crecord: use colwidth instead of ucolwidth 2015-03-18 13:38:06 -05:00
dagparser.py
dagutil.py style: kill ersatz if-else ternary operators 2015-03-13 17:00:06 -04:00
demandimport.py demandimport: blacklist distutils.msvc9compiler (issue4475) 2014-12-22 17:27:31 -05:00
diffhelpers.c diffhelpers: fix botched return statement from e48d70075d8a 2015-01-28 13:34:20 -05:00
dirs.c dirs: fix leak of iterator in dirs_fromiter 2015-01-27 10:10:04 -05:00
dirstate.py dirstate: make sure rootdir ends with directory separator (issue4557) 2015-03-06 00:14:22 +09:00
discovery.py style: kill ersatz if-else ternary operators 2015-03-13 17:00:06 -04:00
dispatch.py ssl: set explicit symbol "!" to web.cacerts to disable SSL verification (BC) 2015-03-04 23:27:04 +09:00
dummycert.pem ssl: on OS X, use a dummy cert to trick Python/OpenSSL to use system CA certs 2014-09-26 02:19:48 +02:00
encoding.py encoding: add hfsignoreclean to clean out HFS-ignored characters 2014-12-16 13:06:41 -05:00
error.py error: add a new UnknownIdentifier error type 2015-01-26 14:31:01 -05:00
exchange.py discovery: properly exclude locally known but filtered heads 2015-01-30 21:11:02 +00:00
exewrapper.c
extensions.py extensions: indicate loaded for an immediately called afterload callback 2015-02-21 00:40:18 -05:00
fancyopts.py fancyopts: restore use of callable() since it was readded in Python 3.2 2014-06-23 09:24:16 -04:00
filelog.py revlog: addgroup checks if incoming deltas add censored revs, sets flag bit 2015-01-14 15:16:08 -05:00
filemerge.py help.merge-tools: do not double document merge tools 2015-02-09 23:07:39 -08:00
fileset.py fileset: replace 'ctx._repo' with 'ctx.repo()' 2015-03-12 23:02:19 -04:00
formatter.py formatter: convert None to json null 2014-09-17 22:34:34 +09:00
graphmod.py spelling: fixes from proofreading of spell checker issues 2015-01-18 02:38:57 +01:00
hbisect.py localrepo: remove all external users of localrepo.opener 2015-01-15 23:17:12 +01:00
help.py help.merge-tools: do not double document merge tools 2015-02-09 23:07:39 -08:00
hg.py style: kill ersatz if-else ternary operators 2015-03-13 17:00:06 -04:00
hook.py hook: raise a more specialized HookAbort exception when a hook fails 2014-11-29 19:13:35 -08:00
httpconnection.py httpconnection: properly inject ssl_wrap_socket into httpclient (issue4038) 2013-09-20 09:16:07 -04:00
httppeer.py changegroup.writebundle: provide ui 2015-01-15 14:39:41 -08:00
i18n.py i18n: cache the result of every gettext call 2014-10-17 13:52:10 -04:00
ignore.py
keepalive.py util: move md5 back next to sha1 and allow to call it without an argument 2014-09-24 16:00:47 +09:00
localrepo.py style: kill ersatz if-else ternary operators 2015-03-13 17:00:06 -04:00
lock.py lock: while releasing, unlink lockfile even if the release function throws 2014-10-16 19:15:51 -07:00
lsprof.py profiling: replace '+' markup of nested lines with indentation 2013-02-08 22:54:48 +01:00
lsprofcalltree.py
mail.py mail: actually use the verifycert config value 2014-11-05 18:31:39 +00:00
manifest.c manifest: include Python.h before standard headers 2015-03-18 11:41:36 -07:00
manifest.py manifest: speed up matches for large sets of files 2015-03-18 13:37:18 -05:00
match.py narrowmatcher: propagate the rel() method 2014-11-27 10:16:56 -05:00
mdiff.py mdiff: add helper for making deltas which replace the full text of a revision 2015-01-21 16:35:09 -05:00
merge.py merge: mark .hgsubstate as possibly dirty before submerge for consistency 2015-01-30 04:59:05 +09:00
minirst.py help: show all nested subsections of a section with hg help foo.section 2014-10-06 07:35:53 -04:00
mpatch.c mpatch: rewrite pointer overflow checks 2013-12-11 18:33:42 -06:00
namespaces.py revset: mask specific names for named() predicate 2015-02-05 14:45:49 +09:00
node.py
obsolete.py obsolete: replace 'ctx._repo' with 'ctx.repo()' 2015-03-12 23:05:25 -04:00
osutil.c osutil: fix memory leak of PyBytes of path in statfiles 2015-01-27 10:17:16 -05:00
parser.py parser: allow passing a lookup function to a tokenizer 2014-03-18 17:17:23 -05:00
parsers.c manifest.c: new extension code to lazily parse manifests 2015-01-13 14:31:38 -08:00
patch.py record: add comparison methods for recordhunk class 2015-03-13 14:08:30 -07:00
pathencode.c pathencode: eliminate signed integer warnings 2014-02-19 13:11:24 -08:00
pathutil.py pathauditor: check for Windows shortname aliases 2014-12-18 14:18:28 -06:00
peer.py
phases.py localrepo: remove all external users of localrepo.sopener 2015-01-11 00:25:54 +01:00
posix.py shellquote: fix missing quotes for empty string 2015-02-11 19:57:07 +09:00
pushkey.py obsolete: add exchange option 2014-10-14 13:26:01 -07:00
pvec.py pvec: replace 'ctx._repo' with 'ctx.repo()' 2015-03-12 23:18:20 -04:00
py3kcompat.py py3kcompat: drop unused export 2014-05-13 15:22:36 -05:00
repair.py repair: define explicit local variable, don't reuse a comprehension variable 2015-03-10 16:25:10 -04:00
repoview.py repoview: invalidate cached changelog if _delayed changes (issue4549) 2015-03-01 23:20:02 -06:00
revlog.py revlog: addgroup checks if incoming deltas add censored revs, sets flag bit 2015-01-14 15:16:08 -05:00
revset.py style: kill ersatz if-else ternary operators 2015-03-13 17:00:06 -04:00
scmposix.py config: don't read the same config file twice 2014-09-04 21:36:35 +02:00
scmutil.py scmutil: replace 'ctx._repo' with 'ctx.repo()' 2015-03-12 23:16:26 -04:00
scmwindows.py config: don't read the same config file twice 2014-09-04 21:36:35 +02:00
setdiscovery.py setdiscovery: document '_takequicksample' 2015-01-07 20:44:20 -08:00
similar.py
simplemerge.py simplemerge: remove dead code 2014-08-07 12:51:45 -04:00
sshpeer.py sshpeer: more thorough shell quoting 2014-12-29 14:27:02 -06:00
sshserver.py changegroup: rename bundle-related functions and classes 2014-09-02 12:11:36 +02:00
sslutil.py ssl: set explicit symbol "!" to web.cacerts to disable SSL verification (BC) 2015-03-04 23:27:04 +09:00
statichttprepo.py localrepo: remove all external users of localrepo.opener 2015-01-15 23:17:12 +01:00
store.py store: drop unused existing list 2014-04-03 12:59:12 -05:00
strutil.py Update license to GPLv2+ 2010-01-19 22:20:08 -06:00
subrepo.py subrepo: replace 'ctx._repo' with 'ctx.repo()' 2015-03-12 22:59:52 -04:00
tagmerge.py filemerge: add internal:tagmerge merge tool 2014-06-26 01:20:25 +02:00
tags.py tags: write tags cache deterministically 2015-02-24 00:06:47 -08:00
templatefilters.py templater: add count template filter, plus tests 2014-09-09 22:14:13 +09:00
templatekw.py templater: replace 'ctx._repo' with 'ctx.repo()' 2015-03-12 23:11:15 -04:00
templater.py templater: replace 'ctx._repo' with 'ctx.repo()' 2015-03-12 23:11:15 -04:00
transaction.py transaction: add a validation stage 2015-03-09 22:43:36 -07:00
treediscovery.py discovery: stop using nodemap for membership testing 2013-11-15 23:28:43 -05:00
ui.py ui: represent paths as classes 2015-02-07 12:42:10 -08:00
unionrepo.py revlog: add "iscensored()" to revlog public API 2015-01-23 17:01:39 -05:00
url.py https: support tls sni (server name indication) for https urls (issue3090) 2015-01-12 18:01:20 -07:00
util.h util: add getbefloat64 2015-02-03 13:17:21 -05:00
util.py transaction: really disable hardlink backups (issue4546) 2015-03-02 10:31:22 -05:00
verify.py verify: report censored nodes if configured policy is abort 2014-10-14 16:16:04 -04:00
win32.py win32: backout 6891e5c66508 2014-05-03 10:33:54 +02:00
windows.py shellquote: fix missing quotes for empty string 2015-02-11 19:57:07 +09:00
wireproto.py localrepo: remove all external users of localrepo.sopener 2015-01-11 00:25:54 +01:00
worker.py cleanup: avoid _ for local unused tmp variables - that is reserved for i18n 2014-08-15 16:20:47 +02:00