Fri, 13 Apr 2012 21:35:48 -0500 revlog: increase readahead size
Matt Mackall <mpm@selenic.com> [Fri, 13 Apr 2012 21:35:48 -0500] rev 16418
revlog: increase readahead size
Fri, 13 Apr 2012 15:32:49 -0500 revset: avoid demandimport bug
Matt Mackall <mpm@selenic.com> [Fri, 13 Apr 2012 15:32:49 -0500] rev 16417
revset: avoid demandimport bug Apparently the "import x as xy" doesn't manage to update xy in the current scope's dictionary after load, which causes nodemod.nullrev to do a huge amount of demandload magic in the inner loop.
Fri, 13 Apr 2012 15:07:13 +0200 mq: replace hasattr() with util.safehasattr(), update check-code.py stable
Patrick Mezard <patrick@mezard.eu> [Fri, 13 Apr 2012 15:07:13 +0200] rev 16416
mq: replace hasattr() with util.safehasattr(), update check-code.py
Thu, 12 Apr 2012 20:52:39 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 12 Apr 2012 20:52:39 -0500] rev 16415
merge with stable
Thu, 12 Apr 2012 14:05:59 -0700 parsers: use base-16 trie for faster node->rev mapping
Bryan O'Sullivan <bryano@fb.com> [Thu, 12 Apr 2012 14:05:59 -0700] rev 16414
parsers: use base-16 trie for faster node->rev mapping This greatly speeds up node->rev lookups, with results that are often user-perceptible: for instance, "hg --time log" of the node associated with rev 1000 on a linux-2.6 repo improves from 0.3 seconds to 0.03. I have not found any instances of slowdowns. The new perfnodelookup command in contrib/perf.py demonstrates the speedup more dramatically, since it performs no I/O. For a single lookup, the new code is about 40x faster. These changes also prepare the ground for the possibility of further improving the performance of prefix-based node lookups.
Thu, 12 Apr 2012 20:22:18 -0500 check-code: avoid false-positive on ++
Matt Mackall <mpm@selenic.com> [Thu, 12 Apr 2012 20:22:18 -0500] rev 16413
check-code: avoid false-positive on ++
Wed, 11 Apr 2012 11:37:13 +0200 graphlog: cleanup before code move
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:37:13 +0200] rev 16412
graphlog: cleanup before code move - Avoid revset module aliasing - Mark makefilematcher() private
Wed, 11 Apr 2012 11:32:00 +0200 graphlog: correctly handle calls in subdirectories
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:32:00 +0200] rev 16411
graphlog: correctly handle calls in subdirectories
Wed, 11 Apr 2012 11:29:12 +0200 context: revert workingctx.ancestors() followfirst option
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:29:12 +0200] rev 16410
context: revert workingctx.ancestors() followfirst option It was introduced by mistake in 352053e6cd8e.
Wed, 11 Apr 2012 11:25:34 +0200 graphlog: fix --follow-first --rev combinations
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:25:34 +0200] rev 16409
graphlog: fix --follow-first --rev combinations This solves a similar problem than the previous --follow/--rev patch. This time we need changelog.ancestors()/descendants() filtering on first parent. Duplicating the code looked better than introducing keyword arguments. Besides, the ancestors() version was already implemented in follow() revset.
Wed, 11 Apr 2012 11:22:40 +0200 graphlog: fix --follow --rev combinations
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:22:40 +0200] rev 16408
graphlog: fix --follow --rev combinations The previous behaviour of --follow was really a subset of what is really happening in log command: - If --rev is not passed, default to '.:0' - Resolve --rev into a revision list "revs" - Set the starting revision to revs[0] - If revs[1] > revs[0] keep descendants(revs[0]) in revs, otherwise keep ancestors.
Wed, 11 Apr 2012 11:17:26 +0200 graphlog: support changeset identifiers in --branch
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:17:26 +0200] rev 16407
graphlog: support changeset identifiers in --branch
Wed, 11 Apr 2012 11:14:07 +0200 graphlog: pass changesets to revset.match() in changelog order
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:14:07 +0200] rev 16406
graphlog: pass changesets to revset.match() in changelog order Running: $ time hg debugrevspec 'user(mpm)' | wc on Mercurial repository takes 1.0s with a regular version and 1.8s if commands.debugrevspec() is patched to pass revisions to revset.match() from tip to 0. Depending on what we expect from the revset API and caller wisdom, we might want to push this change in revset.match() later.
Wed, 11 Apr 2012 11:07:30 +0200 graphlog: refactor revset() to return revisions
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:07:30 +0200] rev 16405
graphlog: refactor revset() to return revisions When --follow and --rev are passed, --follow actual behaviour depends on the input revision sequence defined by --rev. If --rev is not passed, the default revision sequence depends on the presence of --follow. It means the revision sequence generation is part of log logic and must be wrapped. The issue described above is fixed in following patches.
Thu, 12 Apr 2012 15:21:54 -0700 store: speed up read and write of large fncache files
Bryan O'Sullivan <bryano@fb.com> [Thu, 12 Apr 2012 15:21:54 -0700] rev 16404
store: speed up read and write of large fncache files In my tests of an fncache containing 300,000 entries, this improves read time from 567ms to 307, and write time from 1328ms to 533. These numbers aren't so great, since the fncache file is only 17MB in size, but they're an improvement.
Thu, 12 Apr 2012 15:21:52 -0700 perf: time fncache read and write performance
Bryan O'Sullivan <bryano@fb.com> [Thu, 12 Apr 2012 15:21:52 -0700] rev 16403
perf: time fncache read and write performance
Sun, 01 Apr 2012 14:12:14 +0200 revset: add "matching" keyword
Angel Ezquerra <angel.ezquerra@gmail.com> [Sun, 01 Apr 2012 14:12:14 +0200] rev 16402
revset: add "matching" keyword This keyword can be used to find revisions that "match" one or more fields of a given set of revisions. A revision matches another if all the selected fields (description, author, branch, date, files, phase, parents, substate, user, summary and/or metadata) match the corresponding values of those fields on the source revision. By default this keyword looks for revisions that whose metadata match (description, author and date) making it ideal to look for duplicate revisions. matching takes 2 arguments (the second being optional): 1.- rev: a revset represeting a _single_ revision (e.g. tip, ., p1(.), etc) 2.- [field(s) to match]: an optional string containing the field or fields (separated by spaces) to match. Valid fields are most regular context fields and some special fields: * regular fields: - description, author, branch, date, files, phase, parents, substate, user. Note that author and user are synonyms. * special fields: summary, metadata. - summary: matches the first line of the description. - metatadata: It is equivalent to matching 'description user date' (i.e. it matches the main metadata fields). Examples: 1.- Look for revisions with the same metadata (author, description and date) as the 11th revision: hg log -r "matching(11)" 2.- Look for revisions with the same description as the 11th revision: hg log -r "matching(11, description)" 3.- Look for revisions with the same 'summary' (i.e. same first line on their description) as the 11th revision: hg log -r "matching(11, summary)" 4.- Look for revisions with the same author as the current revision: hg log -r "matching(., author)" You could use 'user' rather than 'author' to get the same result. 5.- Look for revisions with the same description _AND_ author as the tip of the repository: hg log -r "matching(tip, 'author description')" 6.- Look for revisions touching the same files as the parent of the tip of the repository hg log -r "matching(p1(tip), files)" 7.- Look for revisions whose subrepos are on the same state as the tip of the repository or its parent hg log -r "matching(p1(tip):tip, substate)" 8.- Look for revisions whose author and subrepo states both match those of any of the revisions on the stable branch: hg log -r "matching(branch(stable), 'author substate')"
Tue, 10 Apr 2012 23:40:20 -0700 plan9: add execute permissions to 9diff
Steven Stallion <sstallion@gmail.com> [Tue, 10 Apr 2012 23:40:20 -0700] rev 16401
plan9: add execute permissions to 9diff
Tue, 10 Apr 2012 23:24:12 -0700 transplant: permit merge changesets via --parent
Steven Stallion <sstallion@gmail.com> [Tue, 10 Apr 2012 23:24:12 -0700] rev 16400
transplant: permit merge changesets via --parent This change permits the transplant extension to operate on merge changesets by way of --parent. This is particularly useful for workflows which cherrypick branch merges rather than each commit within a branch.
Thu, 12 Apr 2012 20:22:18 -0500 help: fix indentation on cacert (issue3350)
Matt Mackall <mpm@selenic.com> [Thu, 12 Apr 2012 20:22:18 -0500] rev 16399
help: fix indentation on cacert (issue3350) The parser doesn't really handle nesting, so reorder so the nested bit is last.
Thu, 12 Apr 2012 20:22:18 -0500 stream_in: avoid debug calls when debug is disabled
Matt Mackall <mpm@selenic.com> [Thu, 12 Apr 2012 20:22:18 -0500] rev 16398
stream_in: avoid debug calls when debug is disabled
Thu, 12 Apr 2012 20:22:18 -0500 util: create bytecount array just once
Matt Mackall <mpm@selenic.com> [Thu, 12 Apr 2012 20:22:18 -0500] rev 16397
util: create bytecount array just once This avoids tons of gettext calls on workloads that call bytecount a lot.
Sun, 08 Apr 2012 11:14:56 +0200 revset: avoid set duplication in roots() stable
Patrick Mezard <patrick@mezard.eu> [Sun, 08 Apr 2012 11:14:56 +0200] rev 16396
revset: avoid set duplication in roots()
Sun, 08 Apr 2012 11:13:06 +0200 revset: retrieve a bit less parents in roots() stable
Patrick Mezard <patrick@mezard.eu> [Sun, 08 Apr 2012 11:13:06 +0200] rev 16395
revset: retrieve a bit less parents in roots()
Sun, 08 Apr 2012 11:11:30 +0200 revset: do not ignore input revisions in roots() stable
Patrick Mezard <patrick@mezard.eu> [Sun, 08 Apr 2012 11:11:30 +0200] rev 16394
revset: do not ignore input revisions in roots() 0329d3b12d8e is also partially reverted to use the 'narrow' parameter again and make less changesets parents lookups.
Tue, 10 Apr 2012 16:53:29 -0500 util.h: more Python 2.4 fixes
Matt Mackall <mpm@selenic.com> [Tue, 10 Apr 2012 16:53:29 -0500] rev 16393
util.h: more Python 2.4 fixes
Mon, 09 Apr 2012 13:48:45 -0700 dispatch: add support for statprof as a profiler
Bryan O'Sullivan <bryano@fb.com> [Mon, 09 Apr 2012 13:48:45 -0700] rev 16392
dispatch: add support for statprof as a profiler This can be selected using the config variable profiling.type or the environment variable HGPROF ("ls" for the default, "stat" for statprof). The only tuneable is the frequency, profiling.freq, which defaults to 1000 Hz. If statprof is not available, a warning is printed.
Mon, 09 Apr 2012 14:36:16 -0700 ui: optionally quiesce ssl verification warnings on python 2.5
Steven Stallion <sstallion@gmail.com> [Mon, 09 Apr 2012 14:36:16 -0700] rev 16391
ui: optionally quiesce ssl verification warnings on python 2.5 Some platforms, notably Plan 9 from Bell Labs are stuck on older releases of Python. Due to restrictions in the platform, it is not possible to backport the SSL library to the existing Python port. This patch permits the UI to quiesce SSL verification warnings by adding a configuration entry named reportoldssl to ui.
Mon, 09 Apr 2012 22:16:26 -0700 scmutil: speed up revrange
Bryan O'Sullivan <bryano@fb.com> [Mon, 09 Apr 2012 22:16:26 -0700] rev 16390
scmutil: speed up revrange This improves the performance of "hg log -l1" from 0.21 seconds to 0.07 on a Linux kernel tree. Ideally we could use xrange instead of range on the most common path, and thus avoid a ton of allocation, but xrange doesn't support slice-based indexing.
Tue, 10 Apr 2012 12:49:12 -0500 graft: add --dry-run support (issue3362)
Matt Mackall <mpm@selenic.com> [Tue, 10 Apr 2012 12:49:12 -0500] rev 16389
graft: add --dry-run support (issue3362)
Fri, 06 Apr 2012 16:18:33 +0300 repair: allow giving strip backup a different name
Idan Kamara <idankk86@gmail.com> [Fri, 06 Apr 2012 16:18:33 +0300] rev 16388
repair: allow giving strip backup a different name So the user can differentiate amend backups from the rest.
Tue, 10 Apr 2012 12:07:18 -0500 encoding: add fast-path for ASCII lowercase
Matt Mackall <mpm@selenic.com> [Tue, 10 Apr 2012 12:07:18 -0500] rev 16387
encoding: add fast-path for ASCII lowercase
Tue, 10 Apr 2012 12:07:16 -0500 perf: add case collision auditor perf
Matt Mackall <mpm@selenic.com> [Tue, 10 Apr 2012 12:07:16 -0500] rev 16386
perf: add case collision auditor perf
Tue, 10 Apr 2012 12:07:14 -0500 util.h: unify some common platform tweaks
Matt Mackall <mpm@selenic.com> [Tue, 10 Apr 2012 12:07:14 -0500] rev 16385
util.h: unify some common platform tweaks
Tue, 10 Apr 2012 12:07:09 -0500 util.h: move Py_ssize_t bits from mpatch.c
Matt Mackall <mpm@selenic.com> [Tue, 10 Apr 2012 12:07:09 -0500] rev 16384
util.h: move Py_ssize_t bits from mpatch.c
Sun, 08 Apr 2012 12:43:41 -0700 plan9: initial support for plan 9 from bell labs
Steven Stallion <sstallion@gmail.com> [Sun, 08 Apr 2012 12:43:41 -0700] rev 16383
plan9: initial support for plan 9 from bell labs This patch contains support for Plan 9 from Bell Labs. A README is provided in contrib/plan9 which describes the port in greater detail. A new extension is also provided named factotum which permits the factotum(4) authentication agent to provide credentials for HTTP repositories. This extension is also applicable to other POSIX platforms which make use of Plan 9 from User Space (aka plan9ports).
Sun, 08 Apr 2012 22:17:51 -0500 util.h: add a typedef for Py_ssize_t with Python 2.4
Matt Mackall <mpm@selenic.com> [Sun, 08 Apr 2012 22:17:51 -0500] rev 16382
util.h: add a typedef for Py_ssize_t with Python 2.4
Sun, 08 Apr 2012 12:38:26 -0500 log: bypass file scan part of fastpath when no files
Matt Mackall <mpm@selenic.com> [Sun, 08 Apr 2012 12:38:26 -0500] rev 16381
log: bypass file scan part of fastpath when no files This avoids loading dirstate parents, looking up p1 rev, and loading p1 manifest to match against an empty matcher.
Sun, 08 Apr 2012 12:38:24 -0500 cmdutil: use context instead of lookup
Matt Mackall <mpm@selenic.com> [Sun, 08 Apr 2012 12:38:24 -0500] rev 16380
cmdutil: use context instead of lookup
Sun, 08 Apr 2012 12:38:23 -0500 scmutil: use context instead of lookup
Matt Mackall <mpm@selenic.com> [Sun, 08 Apr 2012 12:38:23 -0500] rev 16379
scmutil: use context instead of lookup
Sun, 08 Apr 2012 12:38:10 -0500 localrepo: lookup now goes through context
Matt Mackall <mpm@selenic.com> [Sun, 08 Apr 2012 12:38:10 -0500] rev 16378
localrepo: lookup now goes through context
Sun, 08 Apr 2012 12:38:08 -0500 context: use rev for changelog lookup
Matt Mackall <mpm@selenic.com> [Sun, 08 Apr 2012 12:38:08 -0500] rev 16377
context: use rev for changelog lookup Faster when we're doing numeric scanning
Sun, 08 Apr 2012 12:38:07 -0500 context: internalize lookup logic
Matt Mackall <mpm@selenic.com> [Sun, 08 Apr 2012 12:38:07 -0500] rev 16376
context: internalize lookup logic This allows us to avoid doing rev->node->rev lookups on silly instances like "0", which end up caching the whole nodemap.
Sun, 08 Apr 2012 12:38:02 -0500 revlog: allow retrieving contents by revision number
Matt Mackall <mpm@selenic.com> [Sun, 08 Apr 2012 12:38:02 -0500] rev 16375
revlog: allow retrieving contents by revision number
Sat, 07 Apr 2012 15:43:18 -0500 revlog: add hasnode helper method
Matt Mackall <mpm@selenic.com> [Sat, 07 Apr 2012 15:43:18 -0500] rev 16374
revlog: add hasnode helper method
Fri, 06 Apr 2012 15:18:14 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 06 Apr 2012 15:18:14 -0500] rev 16373
merge with stable
Fri, 06 Apr 2012 15:17:50 -0500 merge with crew stable
Matt Mackall <mpm@selenic.com> [Fri, 06 Apr 2012 15:17:50 -0500] rev 16372
merge with crew
Fri, 06 Apr 2012 15:16:30 -0500 tags: defer tag validation until repo.tags() is called
Matt Mackall <mpm@selenic.com> [Fri, 06 Apr 2012 15:16:30 -0500] rev 16371
tags: defer tag validation until repo.tags() is called Before, we were validating all tags for any tag operation, which meant building a (nearly) full node->tag lookup tree for most operations.
Fri, 06 Apr 2012 00:28:36 -0700 parsers: fix a memleak, and add a clearcaches method to the index
Bryan O'Sullivan <bryano@fb.com> [Fri, 06 Apr 2012 00:28:36 -0700] rev 16370
parsers: fix a memleak, and add a clearcaches method to the index This change also fixes a nasty memory leak: previously, self->caches was not being freed. The new clearcaches method lets us benchmark with finer granularity, as it lets us separate the cost of loading a revlog index from those of populating and accessing the cache data structures.
Wed, 04 Apr 2012 15:59:56 +0200 hghave: remove symlink test made useless by ac0da5caebec stable
Patrick Mezard <patrick@mezard.eu> [Wed, 04 Apr 2012 15:59:56 +0200] rev 16369
hghave: remove symlink test made useless by ac0da5caebec
Wed, 04 Apr 2012 13:55:11 +0200 tests: disable progress estimate in test-debugbuilddag.t stable
Julien Cristau <julien.cristau@logilab.fr> [Wed, 04 Apr 2012 13:55:11 +0200] rev 16368
tests: disable progress estimate in test-debugbuilddag.t If the command takes long enough, including 'estimate' in the format will add some more data to the progress bar output, and make the test fail. See e.g. https://buildd.debian.org/status/fetch.php?pkg=mercurial&arch=kfreebsd-amd64&ver=2.1.2-2&stamp=1333493711
Wed, 04 Apr 2012 12:46:54 -0500 ui: swallow EBADF on stderr stable
Kevin Bullock <kbullock@ringworld.org> [Wed, 04 Apr 2012 12:46:54 -0500] rev 16367
ui: swallow EBADF on stderr ui.write_err already swallows EPIPE and EIO if a write to stderr fails. On Mac OS X at least, a write to a closed file descriptor results in EBADF. Before this patch, hg would exit with status 1 if a write to stderr failed during startup (e.g. while trying to print a warning about not finding an extension): $ ./hg --config extensions.foo= version 2>&-; echo $? 1 With this patch, it correctly swallows stderr and continues to run the command: $ ./hg --config extensions.foo= version 2>&- Mercurial Distributed SCM (version 2.1) ...
Thu, 05 Apr 2012 23:52:55 +0900 mq: use list of already known target files instead of matching object for diff
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 05 Apr 2012 23:52:55 +0900] rev 16366
mq: use list of already known target files instead of matching object for diff 'hg qnew' passes matching object to 'patch.diff()' to specify target filenames, and it causes 'dirstate.walk()' via 'repo.status()' in 'patch.diff()'. but target files are already known before 'patch.diff()' invocation. to avoid useless 'dirstate.walk()' invocation, this patch uses 'changes' argument to pass already known target files to 'patch.diff()' instead of 'match' argument. 'changes' argument of 'patch.diff()' should have lists for modified, added and removed files separately, so this patch saves status of '.hgsubstate' before commit, and put it into appropriate list in 'changes'.
Thu, 05 Apr 2012 23:52:06 +0900 mq: use exact matching in the second dirstate walking for efficiency of 'qnew'
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 05 Apr 2012 23:52:06 +0900] rev 16365
mq: use exact matching in the second dirstate walking for efficiency of 'qnew' 'hg qnew' with pattern/-I/-X creates matching object with them, and uses it twice for 'dirstate.walk()': via 'repo.status()' and 'repo.commit()'. this may cause full manifest scan in the second 'dirstate.walk()', even though mq already knows complete target filenames at the first 'dirstate.walk()'. this patch creates exact matching object also in this case, and use it at 'repo.commit()' invocation to avoid full manifest scan in the second 'dirstate.walk()'. even though 'inclsubs' is added to 'pats' for original matching object, it is also passed to exact matching object, because subrepositories are deleted from result of 'dirstate.walk()' at the end of it.
Thu, 05 Apr 2012 12:31:21 +0100 tests: avoid test-hup hanging on AIX stable
Jim Hague <jim.hague@acm.org> [Thu, 05 Apr 2012 12:31:21 +0100] rev 16364
tests: avoid test-hup hanging on AIX test-hup hangs on AIX. Under ksh89 on AIX (the default shell), echo Hello; while [ ! -s not-there ]; do true; done produces no output while the loop executes. Replacing 'true' with 'sleep 0' fixes, as does using a less broken shell. ksh93 is fine. Update check-code.py to look for this, and make same change in test-serve.t. In fact test-serve works fine, probably because of additional commands between echo and the loop, but that's a subtlety not easy to test for.
Thu, 05 Apr 2012 13:00:35 -0700 parsers: incrementally parse the revlog index in C
Bryan O'Sullivan <bryano@fb.com> [Thu, 05 Apr 2012 13:00:35 -0700] rev 16363
parsers: incrementally parse the revlog index in C We only parse entries in a revlog index file when they are actually needed, and cache them when first requested. This makes a huge difference to performance on large revlogs when accessing the tip revision or performing a handful of numeric lookups (very common cases). For instance, "hg --time tip --template {node}" on a tree with 300,000 revs takes 0.15 before, 0.02 after. Even for revlog-intensive operations (e.g. running "hg log" to completion), the lazy approach is about 1% faster than the eager parse_index2.
Thu, 05 Apr 2012 15:39:07 +0200 mdiff: fix diff header generation for files with spaces (issue3357) stable
Patrick Mezard <patrick@mezard.eu> [Thu, 05 Apr 2012 15:39:07 +0200] rev 16362
mdiff: fix diff header generation for files with spaces (issue3357) diff ---/+++ should end filenames with a TAB when they contain spaces. Current code failed to do so when only the +++ file had spaces. This only happened with git renames from a name without space to one with space.
Wed, 04 Apr 2012 00:00:47 +0200 protocol: Add the stream-preferred capability
Benoit Allard <benoit@aeteurope.nl> [Wed, 04 Apr 2012 00:00:47 +0200] rev 16361
protocol: Add the stream-preferred capability This makes the client use the uncompressed protocol.
Wed, 28 Mar 2012 16:06:20 +0200 templates/filters: extracting the user portion of an email address
Matteo Capobianco <m.capobianco@gmail.com> [Wed, 28 Mar 2012 16:06:20 +0200] rev 16360
templates/filters: extracting the user portion of an email address Currently, the 'user' filter is using util.shortuser(text) (which clearly doesn't extract only the user portion of an email address, even though the help text says it does). The new 'emailuser' filter uses the new util.emailuser(text) function which, instead, does exactly that. The help text on the 'user' filter has been modified accordingly.
Thu, 05 Apr 2012 19:15:23 +0200 context: make changectx.mutable() benefit from .phase() logic stable
Patrick Mezard <patrick@mezard.eu> [Thu, 05 Apr 2012 19:15:23 +0200] rev 16359
context: make changectx.mutable() benefit from .phase() logic This fixes "hg qimport -r null". Previous versions used to: - Traceback because null revision mutability was not defined - Add an empty -1.diff patch to the series The error message: abort: revision -1 is not mutable is symptomatic of a deeper problem in phase command revision handling. It could be fixed easily in the command itself but I feel a better fix must be done in phase API which raises the issue of phase updates atomicity: aborting in phases.advanceboundary/retractboundary requires a better rollback behaviour to avoid partial changes.
Thu, 05 Apr 2012 19:23:04 +0200 patch: remove useless variable assignment
Patrick Mezard <patrick@mezard.eu> [Thu, 05 Apr 2012 19:23:04 +0200] rev 16358
patch: remove useless variable assignment
Wed, 04 Apr 2012 12:31:31 +0200 export: catch exporting empty revsets (issue3353) stable
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 04 Apr 2012 12:31:31 +0200] rev 16357
export: catch exporting empty revsets (issue3353) Additionally add tests for empty revsets and unknown revisions.
Wed, 04 Apr 2012 11:19:09 +0200 merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 04 Apr 2012 11:19:09 +0200] rev 16356
merge with stable
Wed, 04 Apr 2012 11:18:42 +0200 test-merge-types: allow different output with existing hgmerge (issue3346) stable
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 04 Apr 2012 11:18:42 +0200] rev 16355
test-merge-types: allow different output with existing hgmerge (issue3346) Because hgmerge was meant to be adjusted to personal needs, there may be many remaining copies in people's $PATH.
Wed, 04 Apr 2012 10:57:48 +0200 inotify: catch SignalInterrupt during shutdown (issue3351) stable
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 04 Apr 2012 10:57:48 +0200] rev 16354
inotify: catch SignalInterrupt during shutdown (issue3351) When inotify.repowatcher.shutdown() is called, mercurial.error.SignalInterrupt exception is thrown by mercurial.dispatch._runcatch.catchterm(), therefore socketlistener.shutdown() is not called. Catching this allows cleanup action (removing the socket file) to proceed.
Tue, 03 Apr 2012 22:02:04 +0200 merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 03 Apr 2012 22:02:04 +0200] rev 16353
merge with stable
Tue, 03 Apr 2012 22:01:28 +0200 clone: always close source repository (issue2491) stable
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 03 Apr 2012 22:01:28 +0200] rev 16352
clone: always close source repository (issue2491) This is especially needed for cloning from bundles as a temporary bundlerepository is created which needs to be deleted after clone has finished.
Tue, 03 Apr 2012 21:02:00 +0200 merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 03 Apr 2012 21:02:00 +0200] rev 16351
merge with stable
Tue, 03 Apr 2012 19:06:35 +0200 tests: make tests work if directory contains special characters stable
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 03 Apr 2012 19:06:35 +0200] rev 16350
tests: make tests work if directory contains special characters With this quoting tests will work e.g. in "/tmp/foo bar/mercurial/".
Tue, 03 Apr 2012 16:36:25 +0200 test-gpg: replace 825565136235 by md5sum check stable
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 03 Apr 2012 16:36:25 +0200] rev 16349
test-gpg: replace 825565136235 by md5sum check The call to 'hg identify' would have needed '--cwd "$TESTDIR' to make it work anyway, but by using a checksum this test can work outside a repository.
Tue, 03 Apr 2012 11:35:04 -0500 config: discard UTF-8 BOM if found
Matt Mackall <mpm@selenic.com> [Tue, 03 Apr 2012 11:35:04 -0500] rev 16348
config: discard UTF-8 BOM if found
Mon, 02 Apr 2012 17:02:50 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 02 Apr 2012 17:02:50 -0500] rev 16347
merge with stable
Mon, 02 Apr 2012 17:02:03 -0500 tests: shorten post-test sleeps
Matt Mackall <mpm@selenic.com> [Mon, 02 Apr 2012 17:02:03 -0500] rev 16346
tests: shorten post-test sleeps This helps expose races
Mon, 02 Apr 2012 22:25:55 +0100 tests: don't run test-gpg if not in a working directory stable
Javi Merino <cibervicho@gmail.com> [Mon, 02 Apr 2012 22:25:55 +0100] rev 16345
tests: don't run test-gpg if not in a working directory test-gpg has to be run in a mercurial working directory as it uses that to verify that it hasn't modified the trustdb.gpg file. Skip the test if it is running in an exploded tarball.
Mon, 02 Apr 2012 16:46:58 -0500 tests: avoid zombie lockup with test-hup stable
Matt Mackall <mpm@selenic.com> [Mon, 02 Apr 2012 16:46:58 -0500] rev 16344
tests: avoid zombie lockup with test-hup The 'while kill -0' recipe can cause a livelock if the process we're waiting to die is a normal child process. If it becomes a zombie that the shell doesn't reap (shell bug?), it will continue to be able to accept signals. So instead, we just wait(1).
Mon, 02 Apr 2012 16:09:29 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 02 Apr 2012 16:09:29 -0500] rev 16343
merge with stable
Mon, 02 Apr 2012 16:04:07 -0500 tests: make test-hup more race-proof stable
Matt Mackall <mpm@selenic.com> [Mon, 02 Apr 2012 16:04:07 -0500] rev 16342
tests: make test-hup more race-proof We need to wait until a journal exists AND is non-empty before aborting a transaction to get stable output. We move the kill wait outside the fifo block to avoid potential deadlock.
Mon, 02 Apr 2012 15:06:36 -0500 tests: re-silence test-bad-pull log messages stable
Matt Mackall <mpm@selenic.com> [Mon, 02 Apr 2012 15:06:36 -0500] rev 16341
tests: re-silence test-bad-pull log messages
Sun, 01 Apr 2012 15:57:04 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 15:57:04 -0500] rev 16340
merge with stable
Sun, 01 Apr 2012 15:54:29 -0500 tests: really add blacklist for vfat on Linux stable
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 15:54:29 -0500] rev 16339
tests: really add blacklist for vfat on Linux
Sun, 01 Apr 2012 15:35:12 -0500 tests: fix one more sed -i
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 15:35:12 -0500] rev 16338
tests: fix one more sed -i
Sun, 01 Apr 2012 15:34:22 -0500 merge stable
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 15:34:22 -0500] rev 16337
merge stable
Sun, 01 Apr 2012 15:31:07 -0500 Added signature for changeset b9bd95e61b49 stable
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 15:31:07 -0500] rev 16336
Added signature for changeset b9bd95e61b49
Sun, 01 Apr 2012 15:31:04 -0500 Added tag 2.1.2 for changeset b9bd95e61b49 stable
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 15:31:04 -0500] rev 16335
Added tag 2.1.2 for changeset b9bd95e61b49
Sun, 01 Apr 2012 14:23:55 -0500 tests: fix shutdown race in test-bad-pull stable 2.1.2
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 14:23:55 -0500] rev 16334
tests: fix shutdown race in test-bad-pull
Sun, 01 Apr 2012 14:01:10 -0500 check-code: check for sed -i
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 14:01:10 -0500] rev 16333
check-code: check for sed -i
Sun, 01 Apr 2012 13:59:11 -0500 tests: remove sed -i from test-record
Matt Mackall <mpm@selenic.com> [Sun, 01 Apr 2012 13:59:11 -0500] rev 16332
tests: remove sed -i from test-record
Sun, 01 Apr 2012 18:18:48 +0900 tests: fix portability of sed usage in test-mq stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 01 Apr 2012 18:18:48 +0900] rev 16331
tests: fix portability of sed usage in test-mq on some platform (Mac OS X and Solaris, at least), to insert new text line, sed function 'i' should be followed by: - backslash('\'), - new-line, - text to be inserted and - new-line GNU sed on Linux can recognize both previous and new ones as same modification request. in addition to it, this patch avoids to use '-i' option for sed, because it is not so portable, as noted in WritingTests wiki page.
Sat, 31 Mar 2012 15:39:44 -0500 zsh completion: fix error in qfinish completions from 88a82069be4a
Augie Fackler <durin42@gmail.com> [Sat, 31 Mar 2012 15:39:44 -0500] rev 16330
zsh completion: fix error in qfinish completions from 88a82069be4a The actual flag is --applied, not --all.
Sat, 31 Mar 2012 14:05:10 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 14:05:10 -0500] rev 16329
merge with stable
Sat, 31 Mar 2012 14:04:39 -0500 record: fix up test issues
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 14:04:39 -0500] rev 16328
record: fix up test issues sed on BSD requires an arg to -i sed failing exposed an uninitialized variable issue
Sat, 31 Mar 2012 13:46:46 -0500 tests: fix portability of sed expression in test-mq stable
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 13:46:46 -0500] rev 16327
tests: fix portability of sed expression in test-mq
Sat, 31 Mar 2012 11:19:09 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 11:19:09 -0500] rev 16326
merge with stable
Thu, 29 Mar 2012 22:16:56 +0900 tests: skip test-lfconvert.t if not support symblic link stable
Takumi IINO <trot.thunder@gmail.com> [Thu, 29 Mar 2012 22:16:56 +0900] rev 16325
tests: skip test-lfconvert.t if not support symblic link Windows not support symbolic link. but test-lfconvert.t execute 'ln -s' command. @@ -51,8 +51,6 @@ skipping incorrectly formatted tag IncorrectlyFormattedTag! skipping incorrectly formatted id invalidhash no mapping for id 0123456789abcdef - abort: renamed/copied largefile large3 becomes symlink - [255] $ cd bigfile-repo $ hg strip --no-backup 2 0 files updated, 0 files merged, 2 files removed, 0 files unresolved ERROR: test-lfconvert.t output changed
Fri, 30 Mar 2012 22:08:46 +0100 record: allow splitting of hunks by manually editing patches
A. S. Budden <abudden@gmail.com> [Fri, 30 Mar 2012 22:08:46 +0100] rev 16324
record: allow splitting of hunks by manually editing patches It is possible that unrelated changes in a file are on sequential lines. The current record extension does not allow these to be committed independently. An example use case for this is in software development for deeply embedded real-time systems. In these environments, it is not always possible to use a debugger (due to time-constraints) and hence inline UART-based printing is often used. When fixing a bug in a module, it is often convenient to add a large number of 'printf's (linked to the UART via a custom fputc) to the module in order to work out what is going wrong. printf is a very slow function (and also variadic so somewhat frowned upon by the MISRA standard) and hence it is highly undesirable to commit these lines to the repository. If only a partial fix is implemented, however, it is desirable to commit the fix without deleting all of the printf lines. This is also simplifies removal of the printf lines as once the final fix is committed, 'hg revert' does the rest. It is likely that the printf lines will be very near the actual fix, so being able to split the hunk is very useful in this case. There were two alternatives I considered for the user interface. One was to manually edit the patch, the other to allow a hunk to be split into individual lines for consideration. The latter option would require a significant refactor of the record module and is less flexible. While the former is potentially more complicated to use, this is a feature that is likely to only be used in certain exceptional cases (such as the use case proposed above) and hence I felt that the complexity would not be a considerable issue. I've also written a follow-up patch that refactors the 'prompt' code to base everything on the choices variable. This tidies up and clarifies the code a bit (removes constructs like 'if ret == 7' and removes the 'e' option from the file scope options as it's not relevant there. It's not really a necessity, so I've excluded it from this submission for now, but I can send it separately if there's a desire and it's on bitbucket (see below) in the meantime. Possible future improvements include: * Tidying up the 'prompt' code to base everything on the choices variable. This would allow entries to be removed from the prompt as currently 'e' is offered even for entire file patches, which is currently unsupported. * Allowing the entire file (or even multi-file) patch to be edited manually: this would require quite a large refactor without much benefit, so I decided to exclude it from the initial submission. * Allow the option to retry if a patch fails to apply (this is what Git does). This would require quite a bit of refactoring given the current 'hg record' implementation, so it's debatable whether it's worth it. Output is similar to existing record user interface except that an additional option ('e') exists to allow manual editing of the patch. This opens the user's configured editor with the patch. A comment is added to the bottom of the patch explaining what to do (based on Git's one). A large proportion of the changeset is test-case changes to update the options reported by record (Ynesfdaq? instead of Ynsfdaq?). Functional changes are in record.py and there are some new test cases in test-record.t.
Sat, 31 Mar 2012 15:55:03 +0900 dirstate: fix some problems for recursive case normalization (issue3342) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 31 Mar 2012 15:55:03 +0900] rev 16323
dirstate: fix some problems for recursive case normalization (issue3342) file in nested directory causes unexpected abort. problems below should be fixed for recursive normalization route in dirstate._normalize(): 1. rsplit() may cause unpacking into more than 2 elements. it should be called with 'maxsplit' argument to unpack into 'd, f' 2. 'd' is replaced by normalized value prefixed with 'self._root', but this makes 'folded' as absolute path, and it is unexpected one for caller of recursive normalization
Sat, 31 Mar 2012 10:44:31 -0500 tests: add a blacklist for VFAT on Linux stable
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 16322
tests: add a blacklist for VFAT on Linux
Sat, 31 Mar 2012 10:44:31 -0500 tests: make test-walkrepo use hg's symlink test stable
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 16321
tests: make test-walkrepo use hg's symlink test
Sat, 31 Mar 2012 10:44:31 -0500 tests: make hghave handle exec bit on Linux with vfat stable
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 16320
tests: make hghave handle exec bit on Linux with vfat
Sat, 31 Mar 2012 10:44:31 -0500 tests: teach hghave to actually test for symlink support stable
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 16319
tests: teach hghave to actually test for symlink support
Fri, 30 Mar 2012 14:35:06 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 30 Mar 2012 14:35:06 -0500] rev 16318
merge with stable
Fri, 30 Mar 2012 14:29:50 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Fri, 30 Mar 2012 14:29:50 -0500] rev 16317
merge with i18n
Thu, 29 Mar 2012 22:42:03 +0200 graphlog: handle old-style --rev values
Patrick Mezard <patrick@mezard.eu> [Thu, 29 Mar 2012 22:42:03 +0200] rev 16316
graphlog: handle old-style --rev values --rev options cannot be merged into a single revset because we do not know if they are valid revset or old-style revision specifications, like 'foo-bar' tags. Instead, a base revision set is generated with scmutil.revrange() then filtered with the revset built from log options. It also fixes incorrect or hostile expressions passed in --rev.
Thu, 29 Mar 2012 17:13:23 +0200 test-glog: pretty print revset expressions
Patrick Mezard <patrick@mezard.eu> [Thu, 29 Mar 2012 17:13:23 +0200] rev 16315
test-glog: pretty print revset expressions
Thu, 29 Mar 2012 16:55:08 +0200 graphlog: improve --only-branch handling
Patrick Mezard <patrick@mezard.eu> [Thu, 29 Mar 2012 16:55:08 +0200] rev 16314
graphlog: improve --only-branch handling The previous code was correct for command line as opts always contains the default empty lists for --branch and --only-branch options. But calling graphlog.revset() directly with only --only-branch set would leave it unprocessed.
Sat, 31 Mar 2012 00:04:08 +0900 dirstate: avoid normalizing letter case on icasefs for exact match (issue3340) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 31 Mar 2012 00:04:08 +0900] rev 16313
dirstate: avoid normalizing letter case on icasefs for exact match (issue3340) on icasefs, "hg qnew" fails to import changing letter case of filename already occurred in working directory, for example: $ hg rename a tmp $ hg rename tmp A $ hg qnew casechange $ hg status R a $ "hg qnew" invokes 'dirstate.walk()' via 'localrepository.commit()' with 'exact match' matching object having exact filenames of targets in ones 'files()'. current implementation of 'dirstate.walk()' always normalizes letter case of filenames from 'match.files()' on icasefs, even though exact matching is required. then, files only different in letter case are treated as one file. this patch prevents 'dirstate.walk()' from normalizing, if exact matching is required, even on icasefs. filenames for 'exact matching' are given not from user command line, but from dirstate walk result, manifest of changecontext, patch files or fixed list for specific system files (e.g.: '.hgtags'). in such case, case normalization should not be done, so this patch works well.
Fri, 30 Mar 2012 21:18:37 +0900 i18n-ja: synchronized with cb17c2f5b7b4 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 30 Mar 2012 21:18:37 +0900] rev 16312
i18n-ja: synchronized with cb17c2f5b7b4
Thu, 29 Mar 2012 18:14:20 -0300 i18n-pt_BR: synchronized with 795d591b6ef5 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 29 Mar 2012 18:14:20 -0300] rev 16311
i18n-pt_BR: synchronized with 795d591b6ef5
Thu, 29 Mar 2012 22:16:56 +0900 tests: skip test-lfconvert.t if not support symblic link
Takumi IINO <trot.thunder@gmail.com> [Thu, 29 Mar 2012 22:16:56 +0900] rev 16310
tests: skip test-lfconvert.t if not support symblic link Windows not support symbolic link. but test-lfconvert.t execute 'ln -s' command. @@ -51,8 +51,6 @@ skipping incorrectly formatted tag IncorrectlyFormattedTag! skipping incorrectly formatted id invalidhash no mapping for id 0123456789abcdef - abort: renamed/copied largefile large3 becomes symlink - [255] $ cd bigfile-repo $ hg strip --no-backup 2 0 files updated, 0 files merged, 2 files removed, 0 files unresolved ERROR: test-lfconvert.t output changed
Fri, 30 Mar 2012 14:16:06 -0500 perf: node lookup
Matt Mackall <mpm@selenic.com> [Fri, 30 Mar 2012 14:16:06 -0500] rev 16309
perf: node lookup
Fri, 23 Mar 2012 01:31:31 +0100 hgweb: add block numbers to diff regions and related links
Paul Boddie <paul@boddie.org.uk> [Fri, 23 Mar 2012 01:31:31 +0100] rev 16308
hgweb: add block numbers to diff regions and related links The changeset view may show several diff regions, one per file, and this patch numbers each of them so that links produced by the filenodelink fragment can reference each diff region produced by the diffblock fragment through the use of the blockno variable made available to both of them. This permits navigation to diff regions on the changeset page from the file list, and where the :target pseudo-class is supported in browsers, permits selective presentation of diffs, showing one at a time instead of potentially many in what would otherwise be a very long page that is difficult to navigate.
Wed, 21 Mar 2012 06:45:07 +0100 patchbomb: add --body flag to send patches as inline message body text
Angel Ezquerra <angel.ezquerra@gmail.com> [Wed, 21 Mar 2012 06:45:07 +0100] rev 16307
patchbomb: add --body flag to send patches as inline message body text There is currently no way to make patchbomb include patches both as attachments and as inline text. This would be quite convenient when sending patches to people who use web email clients (e.g. gmail) which often mangle the patches, making them hard to apply. The default behavior of the email command is unchanged. However it is now possible to use the --body flag _in addition_ to the -i or -a flags, in which case the patchbomb emails will contain the patch as inline body text and as an attachment. A new test has been added to test-patchbomb.t ("test attach for single patch"), based on the existing test called "test attach for single patch" test.
Wed, 28 Mar 2012 15:25:20 -0400 shrink-revlog: make check-code happier
Greg Ward <greg@gerg.ca> [Wed, 28 Mar 2012 15:25:20 -0400] rev 16306
shrink-revlog: make check-code happier There's still a naked 'except:' clause, but I'm not sure how to fix it (what exception is it expecting?). This just fixes line length.
Wed, 28 Mar 2012 15:15:15 -0400 shrink-revlog: make pyflakes happy
Greg Ward <greg@gerg.ca> [Wed, 28 Mar 2012 15:15:15 -0400] rev 16305
shrink-revlog: make pyflakes happy
Wed, 28 Mar 2012 11:42:17 +0200 revert: move bulk of revert command from commands to cmdutil
Angel Ezquerra <angel.ezquerra@gmail.com> [Wed, 28 Mar 2012 11:42:17 +0200] rev 16304
revert: move bulk of revert command from commands to cmdutil This revision has no functionality change. The code on the original commands.revert() function has been split. The first part of the original code, which checks that the command inputs are correct remains in commands.revert(). The rest of the function, which performs the actual revert operation has been moved into cmdutil.revert(). The purpose of this change is to make it easier to perform a revert operation, from other parts of the code. This may be used to implement reverting of subrepos.
Thu, 29 Mar 2012 00:35:00 +0200 mq: fix qpush --move with comments in series file between applied patches stable
Mads Kiilerich <mads@kiilerich.com> [Thu, 29 Mar 2012 00:35:00 +0200] rev 16303
mq: fix qpush --move with comments in series file between applied patches The 'start' variable pointed to qtip in self.series, but it was used for indexing self.fullseries. When fullseries had holes and the patch was moved to self.fullseries[start] it would end up too early in self.series and it could thus not be found in self.series[start:] and it would crash. Now the 'fullstart' index in fullseries is found used instead.
Wed, 28 Mar 2012 19:24:13 -0500 dirstate: normalize case of directory components stable
Matt Mackall <mpm@selenic.com> [Wed, 28 Mar 2012 19:24:13 -0500] rev 16302
dirstate: normalize case of directory components If we have an existing f/a, and rename f to F, adding F/b should be normalized to f/b.
Wed, 28 Mar 2012 19:24:11 -0500 tests: fix startup race in test-http-proxy stable
Matt Mackall <mpm@selenic.com> [Wed, 28 Mar 2012 19:24:11 -0500] rev 16301
tests: fix startup race in test-http-proxy
Wed, 28 Mar 2012 19:23:25 -0500 tests: fix startup/shutdown races in test-https stable
Matt Mackall <mpm@selenic.com> [Wed, 28 Mar 2012 19:23:25 -0500] rev 16300
tests: fix startup/shutdown races in test-https tinyproxy now writes its own pid when it's ready to accept connections
Wed, 28 Mar 2012 12:02:38 -0500 tests: remove sleep/startup/shutdown races from test-hup stable
Matt Mackall <mpm@selenic.com> [Wed, 28 Mar 2012 12:02:38 -0500] rev 16299
tests: remove sleep/startup/shutdown races from test-hup
Wed, 28 Mar 2012 11:28:37 -0500 tests: fix shutdown race in test-hgweb-raw stable
Matt Mackall <mpm@selenic.com> [Wed, 28 Mar 2012 11:28:37 -0500] rev 16298
tests: fix shutdown race in test-hgweb-raw
Wed, 28 Mar 2012 10:29:39 -0500 tests: eliminate shutdown race and sleeps in test-serve stable
Matt Mackall <mpm@selenic.com> [Wed, 28 Mar 2012 10:29:39 -0500] rev 16297
tests: eliminate shutdown race and sleeps in test-serve
Wed, 28 Mar 2012 10:11:12 -0500 tests: eliminate daemon race in test-bad-pull stable
Matt Mackall <mpm@selenic.com> [Wed, 28 Mar 2012 10:11:12 -0500] rev 16296
tests: eliminate daemon race in test-bad-pull
Tue, 27 Mar 2012 16:17:46 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 27 Mar 2012 16:17:46 -0500] rev 16295
merge with stable
Tue, 27 Mar 2012 16:13:59 -0500 alias: abort on missing positional args (issue3331) stable
Matt Mackall <mpm@selenic.com> [Tue, 27 Mar 2012 16:13:59 -0500] rev 16294
alias: abort on missing positional args (issue3331)
Wed, 15 Feb 2012 17:30:21 -0500 phases: fix a non-standard debug message stable
Greg Ward <greg@gerg.ca> [Wed, 15 Feb 2012 17:30:21 -0500] rev 16293
phases: fix a non-standard debug message - add missing newline - ditch gratuitous use of string formatting with dict - fix so it actually does string formatting ('%' rather than ',') - inline unnecessary local variable - downcase first word
Sat, 24 Mar 2012 22:13:17 -0500 convert/git: abort if git submodules are detected (issue2150) stable
Augie Fackler <durin42@gmail.com> [Sat, 24 Mar 2012 22:13:17 -0500] rev 16292
convert/git: abort if git submodules are detected (issue2150) This improves the error message when convert encounters a git submodule. Now, instead of a git-cat-file error, we'll directly report the lack of support for git submodules.
Tue, 27 Mar 2012 14:37:17 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 27 Mar 2012 14:37:17 -0500] rev 16291
merge with stable
Sat, 24 Mar 2012 12:06:49 +0100 qfinish: comply with the phases.new-commit option in secret mode (issue3335) stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 24 Mar 2012 12:06:49 +0100] rev 16290
qfinish: comply with the phases.new-commit option in secret mode (issue3335) In secret mode qfinished changeset were move to the draft phase in all case[1] without regard to phases.new-commit value This changeset ensure qfinish does not automatically promote a changeset further than the phases.new-commit value. Note: This may also result in qfinished changeset made public if phases.new-commit is set to public. [1] "In all case" where parent have a compatible phase. Qfinish keep never altering phases of changeset not involved in the qfinish.
Wed, 21 Mar 2012 22:16:12 -0400 test-gpg: make sure gpg does not modify the trustdb.gpg file stable
Greg Ward <greg@gerg.ca> [Wed, 21 Mar 2012 22:16:12 -0400] rev 16289
test-gpg: make sure gpg does not modify the trustdb.gpg file Tests really should not modify files in the Mercurial working dir where they ran from! I suspect that trustdb.gpg is now old enough that GPG thinks it should update it automatically. Suppress that feature with --no-auto-check-trustdb.
Tue, 27 Mar 2012 13:57:54 -0500 tests: remove case-folding false positive stable
Matt Mackall <mpm@selenic.com> [Tue, 27 Mar 2012 13:57:54 -0500] rev 16288
tests: remove case-folding false positive
Tue, 27 Mar 2012 14:35:58 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Tue, 27 Mar 2012 14:35:58 -0500] rev 16287
merge with i18n
Tue, 27 Mar 2012 20:37:52 +0900 i18n-ja: synchronized with 900eee0778d1 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 27 Mar 2012 20:37:52 +0900] rev 16286
i18n-ja: synchronized with 900eee0778d1
Mon, 26 Mar 2012 16:42:53 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 26 Mar 2012 16:42:53 -0500] rev 16285
merge with stable
Mon, 26 Mar 2012 16:41:54 -0500 merge: fix unknown file merge detection for case-folding systems
Matt Mackall <mpm@selenic.com> [Mon, 26 Mar 2012 16:41:54 -0500] rev 16284
merge: fix unknown file merge detection for case-folding systems This was triggering some test failures on Mac.
Fri, 23 Mar 2012 11:47:27 -0500 rename: handle case-changing (issue1717) stable
Matt Mackall <mpm@selenic.com> [Fri, 23 Mar 2012 11:47:27 -0500] rev 16283
rename: handle case-changing (issue1717)
Thu, 22 Mar 2012 23:58:47 +0900 largefiles: use 'dirstate.dirs()' for 'directory pattern' relation check stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 22 Mar 2012 23:58:47 +0900] rev 16282
largefiles: use 'dirstate.dirs()' for 'directory pattern' relation check original implementation queries whether specified pattern is related or not to largefiles in target context by 'dirstate.__contains__()'. but this can't recognize 'directory pattern' correctly, so this patch uses 'dirstate.dirs()' for it. this patch uses dirstate instead of lfdirstate in 'working' route (second patch hunk for 'hgext/largefiles/reposetup.py'), because 'dirs()' information may be already built for dirstate but not yet for lfdirstate at this point. this prevents lfdirstate from building up and having 'dirs()' information.
Thu, 22 Mar 2012 23:58:47 +0900 largefiles: suppress unexpected warning of 'hg status' for removed files stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 22 Mar 2012 23:58:47 +0900] rev 16281
largefiles: suppress unexpected warning of 'hg status' for removed files original implementation queries whether specified pattern is related or not to largefiles, to target context. but changectx/workingctx returns False about relationship with files marked as removed. So, 'hg status' with 'file pattern' for removed file shows unexpected warning message in below process: 1. 'tostandin()' returns non-STANDIN filename for removed file, because changectx/workingctx returns False about relationship with it 2. 'match.files()' contains non-STANDIN filename, which is already removed from working directory 3. 'dirstate.walk()' invoked via 'localrepository.status()' treats non-STANDIN filename as bad filename, because there is no entry for it in dirstate: only STANDIN is managed in dirstate 4. 'dirstate.walk()' invokes 'match.bad()', which is defined in 'localrepository.status()' as 'bad()' 5. 'bad()' shows warning message for non-STANDIN, because it is not related to source context: only STANDIN is related to it this patch queries to dirstate instead of changectxt/workingctx, because dirstate returns expected result for removed files. 'match.files()' is used by 'localrepository.status()' only in 'working' case, so this patched code also works correctly in non-'working' case.
Thu, 22 Mar 2012 17:47:00 -0500 rebase: properly calculate descendant set when aborting (issue3332) stable
Matt Mackall <mpm@selenic.com> [Thu, 22 Mar 2012 17:47:00 -0500] rev 16280
rebase: properly calculate descendant set when aborting (issue3332) Checking for descendants of target being public was also wrong.
Thu, 22 Mar 2012 17:08:05 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 22 Mar 2012 17:08:05 -0500] rev 16279
merge with stable
Thu, 22 Mar 2012 17:07:39 -0500 strip: ignore -n (issue3326) (BC) stable
Matt Mackall <mpm@selenic.com> [Thu, 22 Mar 2012 17:07:39 -0500] rev 16278
strip: ignore -n (issue3326) (BC) -n could be confused for --dry-run by foolhardy users, resulting in permanent data loss. As leaving a backup when none was requested is significantly less disastrous, the short option is silently ignored. Old scripts continue to work, users only get lightly burned.
Thu, 22 Mar 2012 17:07:39 -0500 aliases: use empty string for missing position parameters (issue3331) stable
Matt Mackall <mpm@selenic.com> [Thu, 22 Mar 2012 17:07:39 -0500] rev 16277
aliases: use empty string for missing position parameters (issue3331)
Wed, 21 Mar 2012 16:39:38 -0500 bookmarks: clone non-divergent bookmarks with @ in them stable
Kevin Bullock <kbullock@ringworld.org> [Wed, 21 Mar 2012 16:39:38 -0500] rev 16276
bookmarks: clone non-divergent bookmarks with @ in them
Wed, 21 Mar 2012 17:24:15 +0900 i18n-ja: synchronized with 2338ab19b236 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 21 Mar 2012 17:24:15 +0900] rev 16275
i18n-ja: synchronized with 2338ab19b236
Thu, 22 Mar 2012 16:54:46 -0500 encoding: tune fast-path of tolocal a bit
Matt Mackall <mpm@selenic.com> [Thu, 22 Mar 2012 16:54:46 -0500] rev 16274
encoding: tune fast-path of tolocal a bit
Thu, 15 Mar 2012 16:57:19 +0100 eol: remove left-over print statements
Martin Geisler <mg@aragost.com> [Thu, 15 Mar 2012 16:57:19 +0100] rev 16273
eol: remove left-over print statements
Thu, 15 Mar 2012 16:52:22 +0100 eol: document why os.utime doesn't work here
Martin Geisler <mg@aragost.com> [Thu, 15 Mar 2012 16:52:22 +0100] rev 16272
eol: document why os.utime doesn't work here I wanted to use os.utime(self.join("eol.cache"), None) as a cleaner way of touching the cache file -- but this fails when the cache doesn't exist.
Sun, 18 Mar 2012 18:21:58 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 18 Mar 2012 18:21:58 -0500] rev 16271
merge with stable
Sun, 18 Mar 2012 18:21:32 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Sun, 18 Mar 2012 18:21:32 -0500] rev 16270
merge with i18n
Wed, 14 Mar 2012 16:26:14 -0300 i18n-pt_BR: fix format.dotencode help section stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 14 Mar 2012 16:26:14 -0300] rev 16269
i18n-pt_BR: fix format.dotencode help section
Wed, 14 Mar 2012 12:52:50 -0300 i18n-pt_BR: synchronized with 3d26d69ef822 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 14 Mar 2012 12:52:50 -0300] rev 16268
i18n-pt_BR: synchronized with 3d26d69ef822
Sun, 18 Mar 2012 18:19:16 -0500 changelog: micro-optimizations to changelog.read()
Matt Mackall <mpm@selenic.com> [Sun, 18 Mar 2012 18:19:16 -0500] rev 16267
changelog: micro-optimizations to changelog.read()
Fri, 16 Mar 2012 19:58:47 -0500 perf: add a changeset test
Matt Mackall <mpm@selenic.com> [Fri, 16 Mar 2012 19:58:47 -0500] rev 16266
perf: add a changeset test
Fri, 16 Mar 2012 17:42:21 -0500 convert: deal with empty splicemap path (issue3311) stable
Matt Mackall <mpm@selenic.com> [Fri, 16 Mar 2012 17:42:21 -0500] rev 16265
convert: deal with empty splicemap path (issue3311)
Thu, 15 Mar 2012 23:02:31 +0000 tests: ignore git's output in test-subrepo-git.t stable
Javi Merino <cibervicho@gmail.com> [Thu, 15 Mar 2012 23:02:31 +0000] rev 16264
tests: ignore git's output in test-subrepo-git.t git version 1.7.9.1 makes the testsuite fail with: @@ -482,7 +482,17 @@ Sticky repository, update --clean $ hg update --clean tip - Previous HEAD position was aa84837... f + Warning: you are leaving 2 commits behind, not connected to + any of your branches: + + aa84837 f + 126f2a1 gg + + If you want to keep them by creating a new branch, this may be a good time + to do so with: + + git branch new_branch_name aa84837ccfbdfedcdcdeeedc309d73e6eb069edc + HEAD is now at 32a3438... fff 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg id -n ERROR: test-subrepo-git.t output changed
Thu, 15 Mar 2012 15:59:26 -0500 profile: add undocumented config options for profiler output
Matt Mackall <mpm@selenic.com> [Thu, 15 Mar 2012 15:59:26 -0500] rev 16263
profile: add undocumented config options for profiler output
Thu, 15 Mar 2012 15:58:55 -0500 perf: add perfchangeset to time changeset parsing
Matt Mackall <mpm@selenic.com> [Thu, 15 Mar 2012 15:58:55 -0500] rev 16262
perf: add perfchangeset to time changeset parsing
Thu, 15 Mar 2012 13:11:42 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 15 Mar 2012 13:11:42 -0500] rev 16261
merge with stable
Thu, 15 Mar 2012 13:11:03 -0500 perf: tweak tests for testing index performance improvements
Matt Mackall <mpm@selenic.com> [Thu, 15 Mar 2012 13:11:03 -0500] rev 16260
perf: tweak tests for testing index performance improvements
Wed, 14 Mar 2012 01:13:45 +0100 convert: support non annotated tags in git backend
Edouard Gomez <ed.gomez@free.fr> [Wed, 14 Mar 2012 01:13:45 +0100] rev 16259
convert: support non annotated tags in git backend Do not blindly filter out non ending ^{} tags. The new logic is: - if both "tag" and "tag^{}" exist, "tag^{}" is what we want - if only "tag" exists, "tag" is fine
Thu, 15 Mar 2012 00:46:37 +0900 icasefs: use case preserved root for 'util.fspath()' invocation (issue3302) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 15 Mar 2012 00:46:37 +0900] rev 16258
icasefs: use case preserved root for 'util.fspath()' invocation (issue3302) path to repo root may contains case sensitive part, even though repo is located in case insensitive filesystem: e.g. repo in FAT32 device mounted on Unix. so, case normalized root causes failure of stat(2). this patch uses case preserved root for 'util.fspath()' invocation to avoid this problem. case preserved root for 'util.fspath()' may decrease efficiency of fspath cache, but 'util.fspath()' is currently called only from dirstate, so this fix has less impact.
Wed, 14 Mar 2012 14:45:41 -0500 merge: accept missing revisions in symlink flag merge (issue3316) stable
Matt Mackall <mpm@selenic.com> [Wed, 14 Mar 2012 14:45:41 -0500] rev 16257
merge: accept missing revisions in symlink flag merge (issue3316)
Tue, 13 Mar 2012 16:29:13 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 13 Mar 2012 16:29:13 -0500] rev 16256
merge with stable
Tue, 13 Mar 2012 16:28:08 -0500 merge: handle linear update to symlink correctly (issue3316) stable
Matt Mackall <mpm@selenic.com> [Tue, 13 Mar 2012 16:28:08 -0500] rev 16255
merge: handle linear update to symlink correctly (issue3316) This fixes a regression introduced by fcf66193b186. If no file-level merge is needed, we can update flags directly, otherwise we have a conflict to resolve in filemerge.
Tue, 13 Mar 2012 15:12:26 -0500 filemerge: restore default prompt for binary/symlink lost in 83925d3a4559 stable
Matt Mackall <mpm@selenic.com> [Tue, 13 Mar 2012 15:12:26 -0500] rev 16254
filemerge: restore default prompt for binary/symlink lost in 83925d3a4559 This could result in a traceback.
Mon, 12 Mar 2012 17:05:42 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 12 Mar 2012 17:05:42 -0500] rev 16253
merge with stable
Mon, 12 Mar 2012 17:02:45 -0300 strip: enhance repair.strip to receive a list of nodes (issue3299) stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 12 Mar 2012 17:02:45 -0300] rev 16252
strip: enhance repair.strip to receive a list of nodes (issue3299) Originally, mq.strip called repair.strip a single rev at a time. repair.strip stores in a backup bundle any revision greater than the revision being stripped, strips, then restores the backup with repo.addchangegroup. So, when stripping revisions on more than one topological branch, some could end up being restored from the backup bundle, only to be later removed by a subsequent repair.strip call. But repo.addchangegroup calls hooks for all those restore operations. And 9df9444e96ec changed it to delay all hook calls until the repository lock were released - by mq.strip, after stripping all revisions. Thus, the hooks could be called over revisions already removed from the repository at that point. By generating the revision lists at once inside repo.strip, we avoid calling addchangegroup for temporary restores. Incidentally, this also avoids creating many backup files for a single strip command.
Wed, 07 Mar 2012 01:02:12 +0100 templates/filters: add doctest to the 'person' filter
"Yann E. MORIN" <yann.morin.1998@free.fr> [Wed, 07 Mar 2012 01:02:12 +0100] rev 16251
templates/filters: add doctest to the 'person' filter Add a doctest with an hopefuly-comprehensive list of combinations we can expect in real-life situations. This does not cover corner cases, for example when a CR or LF is embedded in the name (allowed by RFC 5322!). Code in tests/test-doctest.py contributed by: Martin Geisler <mg@aragost.com> Thanks! Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Fri, 09 Mar 2012 22:54:17 +0100 help: strip doctest from dochelp
"Yann E. MORIN" <yann.morin.1998@free.fr> [Fri, 09 Mar 2012 22:54:17 +0100] rev 16250
help: strip doctest from dochelp When a dochelp string contains doctest code, the doctest code is not stripped, so the help also displays the doctest. Just stop parsing dochelp at the first hint of a doctest section (starting with >>>). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon, 12 Mar 2012 13:37:39 -0500 pvec: introduce pvecs
Matt Mackall <mpm@selenic.com> [Mon, 12 Mar 2012 13:37:39 -0500] rev 16249
pvec: introduce pvecs
Fri, 09 Mar 2012 17:11:07 +0100 largefiles: fix check-code errors.
Na'Tosha Bard <natosha@unity3d.com> [Fri, 09 Mar 2012 17:11:07 +0100] rev 16248
largefiles: fix check-code errors.
Fri, 09 Mar 2012 16:11:52 +0100 largefiles: remove use of underscores that breaks coding convention
Na'Tosha Bard <natosha@unity3d.com> [Fri, 09 Mar 2012 16:11:52 +0100] rev 16247
largefiles: remove use of underscores that breaks coding convention
Fri, 09 Mar 2012 15:26:13 +0100 largefiles: only update changed largefiles when transplanting
Na'Tosha Bard <natosha@unity3d.com> [Fri, 09 Mar 2012 15:26:13 +0100] rev 16246
largefiles: only update changed largefiles when transplanting
Fri, 09 Mar 2012 16:45:49 +0100 largefiles: move calculation of largefiles for updating to utility function
Na'Tosha Bard <natosha@unity3d.com> [Fri, 09 Mar 2012 16:45:49 +0100] rev 16245
largefiles: move calculation of largefiles for updating to utility function
Mon, 12 Mar 2012 13:22:28 +0100 help: add verb to sentence in phases.txt stable
Johan Samyn <johan.samyn@gmail.com> [Mon, 12 Mar 2012 13:22:28 +0100] rev 16244
help: add verb to sentence in phases.txt
Fri, 09 Mar 2012 15:34:21 -0500 localrepo: fix unpushable repos when using bookmarks (issue3317) stable
Michael Bacarella <mbacarella@janestreet.com> [Fri, 09 Mar 2012 15:34:21 -0500] rev 16243
localrepo: fix unpushable repos when using bookmarks (issue3317) bookmarks is copied to journal.bookmarks differently from how dirstate is copied to journal.dirstate. The different way is less robust, which can render the repo unpushable by other users if the first pushing user aborts their transaction. The underlying cause is that the copyfile method attempts an unnecessary chmod, which fails if the user is not the owner of the journal.bookmarks file. This patch makes the bookmarks journaling more consistent with the rest of the journaling, and will allow users to update lingering journal.bookmarks files that they're not the owners of.
Mon, 12 Mar 2012 09:39:30 +0100 extdiff: escape filenames with vim/DirDiff and make quoting work with Windows stable
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 12 Mar 2012 09:39:30 +0100] rev 16242
extdiff: escape filenames with vim/DirDiff and make quoting work with Windows Use vim function fnameescape() on filenames. Use double quotes for arguments so cmd.exe is happy.
Thu, 08 Mar 2012 15:59:47 -0600 posix: disable cygwin's symlink emulation
Matt Mackall <mpm@selenic.com> [Thu, 08 Mar 2012 15:59:47 -0600] rev 16241
posix: disable cygwin's symlink emulation
Thu, 08 Mar 2012 20:17:36 +0000 posix: ignore execution bit in cygwin (issue3301)
A. S. Budden <abudden@gmail.com> [Thu, 08 Mar 2012 20:17:36 +0000] rev 16240
posix: ignore execution bit in cygwin (issue3301)
Sat, 18 Feb 2012 20:10:19 +0100 hgweb: support multi-level repository indexes by enabling descend and collapse
Paul Boddie <paul@boddie.org.uk> [Sat, 18 Feb 2012 20:10:19 +0100] rev 16239
hgweb: support multi-level repository indexes by enabling descend and collapse The descend option in hgweb can be used to display all reachable repositories within a directory hierarchy if set to True. However, all reachable repositories, regardless of their depth below the root of the hierarchy, are then listed at the same level - expanded - in the hgweb interface. This patch adds support for showing only each level of a directory hierarchy, with subrepositories being shown alongside their parent repositories only at the appropriate level (because there is no way to navigate to subrepositories from within repositories), and the contents of directories hidden - collapsed - behind a link for each directory. To enable this multi-level navigation, a new option called collapse must be set to True when the descend option is set to True.
Tue, 06 Mar 2012 18:43:05 +0200 mq: no need to delete undo files after strip
Idan Kamara <idankk86@gmail.com> [Tue, 06 Mar 2012 18:43:05 +0200] rev 16238
mq: no need to delete undo files after strip repair.strip takes care of that
Tue, 06 Mar 2012 18:43:05 +0200 repair: remove undo files after strip
Idan Kamara <idankk86@gmail.com> [Tue, 06 Mar 2012 18:43:05 +0200] rev 16237
repair: remove undo files after strip
Tue, 06 Mar 2012 18:42:52 +0200 localrepo: refactor retrieving of journal/undo files paths
Idan Kamara <idankk86@gmail.com> [Tue, 06 Mar 2012 18:42:52 +0200] rev 16236
localrepo: refactor retrieving of journal/undo files paths We'd like to remove undo files after stripping
Tue, 06 Mar 2012 23:23:30 +0100 templates/filters: strip quotes from {author|person}
"Yann E. MORIN" <yann.morin.1998@free.fr> [Tue, 06 Mar 2012 23:23:30 +0100] rev 16235
templates/filters: strip quotes from {author|person} RFC5322 (Internet Message Format) [0] says that the 'display name' of an internet address [1] (what Mercurial calls 'person') can be quoted with DQUOTE (ASCII 34: ") if it contains non-atom characters [2]. For example, dot '.' is a non-atom character. Also, DQUOTEs in a quoted string will be escaped using "\" [2][3]. The current {author|person} template+filter just extracts the part before an email address as-is. This can look ugly, especially on the web interface, or when generating output for post-processing... Moreover, as an example, the Mercurial repository has a bunch of incoherent uses of DQUOTES in author names. As per Matt's digging: $ hg log --template "{author|person}\n" | grep '"' | sort | uniq "Andrei Vermel "Aurelien Jacobs "Daniel Santa Cruz "Hidetaka Iwai "Hiroshi Funai" "Mathieu Clabaut "Paul Moore "Peter Arrenbrecht" "Rafael Villar Burke "Shun-ichi GOTO" "Wallace, Eric S" "Yann E. MORIN" Josef "Jeff" Sipek Radoslaw "AstralStorm" Szkodzinski Fix the 'person' filter to remove leading and trailing DQUOTES, and unescape remaining DQUOTES. Given this author: "J. \"random\" DOE" <john@doe.net> before: {author|person} : "J. \"random\" DOE" after: {author|person} : J. "random" DOE For the Mercurial repository, that leaves us with two authors with DQUOTES, in acceptable positions: $ hg log --template "{author|person}\n" | grep '"' | sort | uniq Josef "Jeff" Sipek Radoslaw "AstralStorm" Szkodzinski [0] https://tools.ietf.org/html/rfc5322 [1] https://tools.ietf.org/html/rfc5322#section-3.4 [2] https://tools.ietf.org/html/rfc5322#section-3.2.4 [3] https://tools.ietf.org/html/rfc5322#section-3.2.1 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu, 08 Mar 2012 15:59:44 -0600 check-code: check for % inside _()
Matt Mackall <mpm@selenic.com> [Thu, 08 Mar 2012 15:59:44 -0600] rev 16234
check-code: check for % inside _()
Thu, 08 Mar 2012 15:59:41 -0600 patchbomb: add (optional) note to 0 of 0 prompt
Matt Mackall <mpm@selenic.com> [Thu, 08 Mar 2012 15:59:41 -0600] rev 16233
patchbomb: add (optional) note to 0 of 0 prompt
Thu, 08 Mar 2012 15:59:33 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 08 Mar 2012 15:59:33 -0600] rev 16232
merge with stable
Thu, 08 Mar 2012 13:35:27 -0600 i18n: fix all remaining uses of % inside _() stable
Matt Mackall <mpm@selenic.com> [Thu, 08 Mar 2012 13:35:27 -0600] rev 16231
i18n: fix all remaining uses of % inside _()
Wed, 07 Mar 2012 23:21:11 +0000 update: don't translate the abort message twice stable
Javi Merino <cibervicho@gmail.com> [Wed, 07 Mar 2012 23:21:11 +0000] rev 16230
update: don't translate the abort message twice The string representation of util.Abort() is translated when merge.update() raises the exception. For languages with characters out of the valid ascii range, if we feed them again to i18n.gettext() mercurial dies with: [...] File "/home/javi/src/mercurial/mercurial/hg-mpm/mercurial/commands.py", line 4287, in postincoming ui.warn(_("not updating: %s\n" % str(inst))) File "/home/javi/src/mercurial/mercurial/hg-mpm/mercurial/i18n.py", line 42, in gettext u = u'\n\n'.join([p and t.ugettext(p) or '' for p in paragraphs]) File "/usr/lib/python2.7/gettext.py", line 404, in ugettext return unicode(message) UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 14: ordinal not in range(128) To reproduce this error, just try to pull a changeset that crosses branches with LANG=ru_RU.UTF-8
Sun, 04 Mar 2012 17:14:30 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 04 Mar 2012 17:14:30 -0600] rev 16229
merge with stable
Sun, 04 Mar 2012 17:12:12 -0600 rebase: move bookmarks as needed with pull --rebase (issue3285) stable
Matt Mackall <mpm@selenic.com> [Sun, 04 Mar 2012 17:12:12 -0600] rev 16228
rebase: move bookmarks as needed with pull --rebase (issue3285)
Sun, 04 Mar 2012 16:48:04 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 04 Mar 2012 16:48:04 -0600] rev 16227
merge with stable
Thu, 01 Mar 2012 14:42:23 +0000 bugzilla: correct comment typo stable
Jim Hague <jim.hague@acm.org> [Thu, 01 Mar 2012 14:42:23 +0000] rev 16226
bugzilla: correct comment typo
Thu, 01 Mar 2012 23:29:52 +0000 tests: ignore the return code of chmod in test-inherit-mode stable
Javi Merino <cibervicho@gmail.com> [Thu, 01 Mar 2012 23:29:52 +0000] rev 16225
tests: ignore the return code of chmod in test-inherit-mode In freebsd, a newly created directory has the same group as the parent directory by default. That means that the test directory created by test-inherit-mode.t is owned by root's group, so "chmod g+s .hg/store" fails to set the SGID bit and returns 1. If we ignore chmod's return code, the testsuite passes again.
Thu, 01 Mar 2012 14:50:31 +0000 bugzilla: add xmlrpcemail submission for Bugzilla 3.6 email interface
Jim Hague <jim.hague@acm.org> [Thu, 01 Mar 2012 14:50:31 +0000] rev 16224
bugzilla: add xmlrpcemail submission for Bugzilla 3.6 email interface Some of the formatting details required for bug submission via email changed between Bugzilla 3.4 and 3.6. Bugzilla 3.4 requires lines of the form '@fieldname = value', while 3.6 wants '@fieldname value'. Also the field @bug_id in 3.4 becomes @id in 3.6. Bugzilla up to and including 4.0 also recognises the 3.4 format. To save surprises in the future, check the Bugzilla version and use the 3.6 format from all major versions >= 4. At some point we will drop support for Bugzilla prior to 3.6 and support the new format only.
Thu, 01 Mar 2012 15:27:24 +0000 bugzilla: allow change comment to mark bugs fixed
Jim Hague <jim.hague@acm.org> [Thu, 01 Mar 2012 15:27:24 +0000] rev 16223
bugzilla: allow change comment to mark bugs fixed Add a second regular expression used when scanning change comments. Bugs matched by this new regular expression have the bug comments and optionally hours updated as with the first regular expression, but they are also marked as fixed. The bug status and resolution to set to mark a bug as fixed can be configured. By default status is set to RESOLVED and resolution to FIXED, the default Bugzilla settings. For example, a change comment containing 'Fixes 1234 h1.5' will be added to bug 1234, the bug will have its working time increased by 1.65 hours, and the bug will be marked RESOLVED/FIXED. Change comments may contain both bug update and fix instructions. If the same bug ID occurs in both, the last instruction found takes precedence. The patch adds new bug states 'bug_status' and 'resolution' and actions to update them to the XMLRPC and XMLRPC/email access methods. XMLRPC does not support marking bugs as fixed when used with Bugzilla versions prior to 4.0. When used with an earlier Bugzilla version, a warning is issued and only comment and hours updated.
Thu, 01 Mar 2012 15:25:37 +0000 bugzilla: extract optional hours from commit message and update bug time
Jim Hague <jim.hague@acm.org> [Thu, 01 Mar 2012 15:25:37 +0000] rev 16222
bugzilla: extract optional hours from commit message and update bug time If an 'hours' group is present in the bug matching regular expression, and that group contains a float value, update the bug working time in Bugzilla with those hours. The patch adds a key 'hours' to the bug state dictionary, and adds support for the key to the XMLRPC and XMLRPC/email access methods. The MySQL access method is not supported; a warning is given.
Thu, 01 Mar 2012 14:51:40 +0000 bugzilla: modify access interface to include new bug states
Jim Hague <jim.hague@acm.org> [Thu, 01 Mar 2012 14:51:40 +0000] rev 16221
bugzilla: modify access interface to include new bug states As a first step to allowing comment text to update bug state, rework the Bugzilla access interface to use a dictionary keyed on bug ID. Dictionary entries will contain new state info in future changes.
Sat, 03 Mar 2012 23:14:31 -0600 wix: add phases help text and two more translations (issue 3288) stable
Steve Borho <steve@borho.org> [Sat, 03 Mar 2012 23:14:31 -0600] rev 16220
wix: add phases help text and two more translations (issue 3288)
Fri, 02 Mar 2012 11:46:18 -0300 debugbuilddag: fix starting a dag on a non-default branch stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 02 Mar 2012 11:46:18 -0300] rev 16219
debugbuilddag: fix starting a dag on a non-default branch
Fri, 24 Feb 2012 11:02:21 +0100 debugrevspec: pretty print output
Patrick Mezard <patrick@mezard.eu> [Fri, 24 Feb 2012 11:02:21 +0100] rev 16218
debugrevspec: pretty print output Before: ('func', ('symbol', 'reverse'), ('func', ('symbol', 'sort'), ('list', ('or', ('symbol', '2'), ('symbol', '3')), ('symbol', 'date')))) After: (func ('symbol', 'reverse') (func ('symbol', 'sort') (list (or ('symbol', '2') ('symbol', '3')) ('symbol', 'date')))) v2: - Rebased on stable to avoid having to merge tests output
Fri, 02 Mar 2012 21:43:55 +0200 readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com> [Fri, 02 Mar 2012 21:43:55 +0200] rev 16217
readme: mention how to run in-place The README describes how to install Mercurial but it does not describe how to run it in place (for developers). This adds a short paragraph to the README describing how to do run Mercurial inplace.
Fri, 02 Mar 2012 14:12:06 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 02 Mar 2012 14:12:06 -0600] rev 16216
merge with stable
Fri, 02 Mar 2012 14:11:06 -0600 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Fri, 02 Mar 2012 14:11:06 -0600] rev 16215
merge with i18n
Wed, 29 Feb 2012 13:17:41 -0300 i18n-pt_BR: synchronized with 6b52963ced73 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 29 Feb 2012 13:17:41 -0300] rev 16214
i18n-pt_BR: synchronized with 6b52963ced73
Wed, 29 Feb 2012 13:16:51 -0300 merge with i18n stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 29 Feb 2012 13:16:51 -0300] rev 16213
merge with i18n
Wed, 29 Feb 2012 21:09:21 +0900 i18n-ja: synchronized with 87d37aceb5e3 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 29 Feb 2012 21:09:21 +0900] rev 16212
i18n-ja: synchronized with 87d37aceb5e3
Fri, 24 Feb 2012 19:50:03 -0200 i18n-pt_BR: synchronized with 60101427d618 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 24 Feb 2012 19:50:03 -0200] rev 16211
i18n-pt_BR: synchronized with 60101427d618
Fri, 02 Mar 2012 10:43:06 -0800 Merge with stable
Brendan Cully <brendan@kublai.com> [Fri, 02 Mar 2012 10:43:06 -0800] rev 16210
Merge with stable
Fri, 02 Mar 2012 10:42:12 -0800 setup.py: don't call splitlines twice on the output of xcodebuild (issue3277) stable
Brendan Cully <brendan@kublai.com> [Fri, 02 Mar 2012 10:42:12 -0800] rev 16209
setup.py: don't call splitlines twice on the output of xcodebuild (issue3277)
Fri, 02 Mar 2012 09:57:09 +0100 merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 02 Mar 2012 09:57:09 +0100] rev 16208
merge with stable
Fri, 02 Mar 2012 09:54:45 +0100 merge stable heads stable
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 02 Mar 2012 09:54:45 +0100] rev 16207
merge stable heads
Thu, 01 Mar 2012 17:45:13 +0100 merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 01 Mar 2012 17:45:13 +0100] rev 16206
merge with stable mercurial/filemerge.py in the default branch does not need the additional unlink calls, because the unlink calls at the end of filemerge.filemerge() are called for internal:dump, too.
Thu, 01 Mar 2012 17:35:12 +0100 filemerge: remove temporary files when using internal:dump as merge-tool stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 01 Mar 2012 17:35:12 +0100] rev 16205
filemerge: remove temporary files when using internal:dump as merge-tool
Thu, 01 Mar 2012 16:28:24 -0600 Added signature for changeset 53e2cd303ecf stable
Matt Mackall <mpm@selenic.com> [Thu, 01 Mar 2012 16:28:24 -0600] rev 16204
Added signature for changeset 53e2cd303ecf
Thu, 01 Mar 2012 16:27:59 -0600 Added tag 2.1.1 for changeset 53e2cd303ecf stable
Matt Mackall <mpm@selenic.com> [Thu, 01 Mar 2012 16:27:59 -0600] rev 16203
Added tag 2.1.1 for changeset 53e2cd303ecf
Thu, 01 Mar 2012 17:49:59 +0200 dirstate: filecacheify _ignore (issue3278) stable 2.1.1
Idan Kamara <idankk86@gmail.com> [Thu, 01 Mar 2012 17:49:59 +0200] rev 16202
dirstate: filecacheify _ignore (issue3278) This still doesn't handle the case where a command is run with --config ui.ignore=path since we only look for changes in .hgignore.
Thu, 01 Mar 2012 17:42:49 +0200 dirstate: filecacheify _branch stable
Idan Kamara <idankk86@gmail.com> [Thu, 01 Mar 2012 17:42:49 +0200] rev 16201
dirstate: filecacheify _branch The opener is relative to .hg, use it in a subclass of filecache to compute the final path.
Thu, 01 Mar 2012 17:39:58 +0200 dirstate: add filecache support stable
Idan Kamara <idankk86@gmail.com> [Thu, 01 Mar 2012 17:39:58 +0200] rev 16200
dirstate: add filecache support
Thu, 01 Mar 2012 17:39:58 +0200 scmutil: add join method to opener to construct path relative to base stable
Idan Kamara <idankk86@gmail.com> [Thu, 01 Mar 2012 17:39:58 +0200] rev 16199
scmutil: add join method to opener to construct path relative to base Useful when we only have the opener without the base path used when it was constructed.
Thu, 01 Mar 2012 17:39:58 +0200 filecache: refactor path join logic to a function stable
Idan Kamara <idankk86@gmail.com> [Thu, 01 Mar 2012 17:39:58 +0200] rev 16198
filecache: refactor path join logic to a function New users of filecache use different names for the function used to compute the runtime path of the cached file. Users should subclass filecache and provide their own version of this function to call the appropriate join function on 'obj' (an instance of the class that its member function was decorated).
Wed, 29 Feb 2012 17:27:24 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 29 Feb 2012 17:27:24 -0600] rev 16197
merge with stable
Wed, 29 Feb 2012 14:24:57 +0100 subrepo: fix for merge inconsistencies stable
Friedrich Kastner-Masilko <kastner_masilko@at.festo.com> [Wed, 29 Feb 2012 14:24:57 +0100] rev 16196
subrepo: fix for merge inconsistencies Merging ancestors with children is allowed if they are on different named branches. This did not work for subrepo merges before. To fix this inconsistency, the mergefunc() will now use the simple update path only if both versions are on the same named branch. If not, they get merged into a new changeset, just as if you did the merge from the subrepo's root directly.
Wed, 29 Feb 2012 14:41:11 +0100 bundlerepo: bundle repos should be non-publishing (issue3266) stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 29 Feb 2012 14:41:11 +0100] rev 16195
bundlerepo: bundle repos should be non-publishing (issue3266) Bundle repo contains both the bundle content and the content of the repository used as a base. This create bugs with phases exchange because the "remote" repository claim to contains changeset it does not. The easiest way to fix this bug is to ensure a bundle repo as non publishing. This way changeset will be seen in the same phase than locally. This patch does not alter in which phase bundle revision are seen. For now they are seen as if an old client had add them on the remote: They inherit their phase from parent whatever the parent is. This is to be fixed in a later patch
Wed, 29 Feb 2012 09:34:19 +0100 bookmarks: restore python 2.4 compatibility stable
Gilles Moris <gilles.moris@free.fr> [Wed, 29 Feb 2012 09:34:19 +0100] rev 16194
bookmarks: restore python 2.4 compatibility Remove py25 'try except finally' clause.
Wed, 29 Feb 2012 17:43:03 +0000 bugzilla: stop XMLRPC requests from requesting gzipped responses stable
Jim Hague <jim.hague@acm.org> [Wed, 29 Feb 2012 17:43:03 +0000] rev 16193
bugzilla: stop XMLRPC requests from requesting gzipped responses Python 2.7 introduced support for gzip encoding in xmlrpclib.Transport. We do our own handling of responses, and don't currently support gzip encoding. So to run successfully under Python 2.7 with a web server configured to gzip encode, stop XMLRPC requests from announcing gzip encoding support.
Tue, 28 Feb 2012 21:17:53 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 28 Feb 2012 21:17:53 -0600] rev 16192
merge with stable
Tue, 28 Feb 2012 23:47:46 +0200 update: delete bookmarks.current when explicitly updating to a rev (issue3276) stable
Idan Kamara <idankk86@gmail.com> [Tue, 28 Feb 2012 23:47:46 +0200] rev 16191
update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Tue, 28 Feb 2012 10:06:35 +0100 convert: ignore blank lines in mapfiles (issue3286) stable
Patrick Mezard <patrick@mezard.eu> [Tue, 28 Feb 2012 10:06:35 +0100] rev 16190
convert: ignore blank lines in mapfiles (issue3286)
Tue, 28 Feb 2012 01:07:55 +0200 update: don't move the active bookmark if a rev is specified with -r stable
Idan Kamara <idankk86@gmail.com> [Tue, 28 Feb 2012 01:07:55 +0200] rev 16189
update: don't move the active bookmark if a rev is specified with -r
Mon, 27 Feb 2012 18:23:18 +0100 mq: fix qapplied --last and qprev documentation (issue3282) stable
Patrick Mezard <patrick@mezard.eu> [Mon, 27 Feb 2012 18:23:18 +0100] rev 16188
mq: fix qapplied --last and qprev documentation (issue3282) qapplied --last is qprev not qtop. v2: - Replace "previous" with "preceding" as suggested here and there
Mon, 27 Feb 2012 08:54:26 -0500 setup: handle output from Apple's Xcode 4.3 better (issue3277) stable
Greg Ward <greg@gerg.ca> [Mon, 27 Feb 2012 08:54:26 -0500] rev 16187
setup: handle output from Apple's Xcode 4.3 better (issue3277) Apparently, it prints nothing at all if the user installed only the command-line tools. In that case, don't try to parse the empty output -- just assume they have Xcode >= 4.
Sun, 26 Feb 2012 17:12:15 +0100 graphlog: apply file filters --patch/--stat output
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:12:15 +0100] rev 16186
graphlog: apply file filters --patch/--stat output When passing --patch/--stat, file filters have to be applied to generate the correct diff or stat output: - Without --follow, the static match object can be reused - With --follow, the files displayed at revision X are the ancestors of selected files at parent revision. To do this, we reproduce the ancestry calculations done by --follow, lazily. test-glog.t changes show that --patch output is not satisfying because renames are reported as copies. This can probably be fixed by: - Without --follow: compute files to display, look for renames sources and extend the matcher to include them. - With --follow: detect .path() transitions between parent/child filectx, filter them using the linked changectx .removed() field and extend fcache with them.
Sun, 26 Feb 2012 17:10:57 +0100 context: add followfirst arg to filectx and workingfilectx
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:10:57 +0100] rev 16185
context: add followfirst arg to filectx and workingfilectx When _followfirst() revset was introduced it seemed to be the sole user of such an argument, so filectx.ancestors() was duplicated and modified instead. It now appears this argument could be used when computing the set of files to be considered when --patch or --stat are passed along with --follow FILE.
Sun, 26 Feb 2012 17:10:57 +0100 graphlog: fix --removed
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:10:57 +0100] rev 16184
graphlog: fix --removed "hg log --removed FILE" does not return changesets where FILE was removed, but ones where FILE was changed and possibly removed. The flag is really here to disable walkchangerevs() fast path, which cannot see file removals by scanning filelogs.
Sun, 26 Feb 2012 17:10:56 +0100 test-glog: rewrite more tests using testlog() function
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:10:56 +0100] rev 16183
test-glog: rewrite more tests using testlog() function
Sun, 26 Feb 2012 17:10:55 +0100 match: consider filesets as "anypats"
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:10:55 +0100] rev 16182
match: consider filesets as "anypats" Matt suggested this on IRC, I do not think the choice is obvious, but this one makes things simpler because while filesets are turned into a list of files into the match objects, it would more be difficult to tell invalid files passed in pats from those expanded from filesets.
Sun, 26 Feb 2012 17:10:51 +0100 graphlog: evaluate FILE/-I/-X filesets on the working dir
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:10:51 +0100] rev 16181
graphlog: evaluate FILE/-I/-X filesets on the working dir This subtlety is not documented yet but: - pats/--include/--exclude filesets are evaluated against the working directory - --rev filesets are reevaluated against every revisions
Sun, 26 Feb 2012 16:56:32 +0100 graphlog: implement --copies
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 16:56:32 +0100] rev 16180
graphlog: implement --copies
Sat, 18 Feb 2012 16:30:17 -0500 test-check-code-hg: skip test if not in a working dir (issue3248). stable
Greg Ward <greg@gerg.ca> [Sat, 18 Feb 2012 16:30:17 -0500] rev 16179
test-check-code-hg: skip test if not in a working dir (issue3248).
(0) -10000 -3000 -1000 -240 +240 +1000 +3000 +10000 +30000 tip