Mon, 13 Aug 2012 14:04:52 -0700 parsers: fix an integer size warning issued by clang
Bryan O'Sullivan <bryano@fb.com> [Mon, 13 Aug 2012 14:04:52 -0700] rev 17356
parsers: fix an integer size warning issued by clang
Tue, 10 Jul 2012 08:43:32 -0700 templatekw: add parent1, parent1node, parent2, parent2node keywords
epriestley <hg@yghe.net> [Tue, 10 Jul 2012 08:43:32 -0700] rev 17355
templatekw: add parent1, parent1node, parent2, parent2node keywords The {parents} template is cumbersome for some uses, as it does not show anything if there's only one "natural" parent and you can't use it to get the full 40 digit node hashes for parents unless you rely on the behavior of the --debug flag. Introduce four new template keywords: {parent1}, {parent2}, {parent1node} and {parent2node}. The "node" flavors of these always show full 40 digit hashes, but users can get the short version with a filter construction like '{parent1node|short}'.
Mon, 13 Aug 2012 11:49:55 -0700 Merge with crew-stable
Bryan O'Sullivan <bryano@fb.com> [Mon, 13 Aug 2012 11:49:55 -0700] rev 17354
Merge with crew-stable
Thu, 02 Aug 2012 19:10:45 +0400 revlog: don't try to partialmatch strings those length > 40 stable
sorcerer [Thu, 02 Aug 2012 19:10:45 +0400] rev 17353
revlog: don't try to partialmatch strings those length > 40 _partialmatch() does prefix matching against nodes. String passed to _partialmetch() actualy may be any string, not prefix only. For example, "e410be8603932e46a51298748a4b874739037fad or 300" is a good argument for _partialmatch(). When _partialmatch() searches using radix tree, index_partialmatch() C function shouldn't try to match too long strings.
Sat, 11 Aug 2012 12:45:53 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 11 Aug 2012 12:45:53 -0500] rev 17352
merge with stable
Sat, 11 Aug 2012 12:45:37 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Sat, 11 Aug 2012 12:45:37 -0500] rev 17351
merge with i18n
Fri, 10 Aug 2012 15:42:15 +0400 i18n-ru: fix spelling of "missing" equivalent stable
Nikolaj Sjujskij <sterkrig@myopera.com> [Fri, 10 Aug 2012 15:42:15 +0400] rev 17350
i18n-ru: fix spelling of "missing" equivalent
Thu, 09 Aug 2012 13:31:08 +0400 i18n-ru: synchronized with b131e24e2984 stable
Alexander Sauta <demosito@gmail.com> [Thu, 09 Aug 2012 13:31:08 +0400] rev 17349
i18n-ru: synchronized with b131e24e2984
Tue, 07 Aug 2012 11:18:45 -0300 i18n-pt_BR: synchronized with b5c560787a4e stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 07 Aug 2012 11:18:45 -0300] rev 17348
i18n-pt_BR: synchronized with b5c560787a4e
Wed, 08 Aug 2012 18:10:37 +0200 check-code: fix check for trailing whitespace on continued lines too
Mads Kiilerich <mads@kiilerich.com> [Wed, 08 Aug 2012 18:10:37 +0200] rev 17347
check-code: fix check for trailing whitespace on continued lines too The tests in test-annotate.t and test-import-git.t that relied on trailing space in a file created by a here string is now masked by a literal 'EOL' string that is removed.
Wed, 08 Aug 2012 18:10:30 +0200 check-code: fix check for trailing whitespace on empty lines
Mads Kiilerich <mads@kiilerich.com> [Wed, 08 Aug 2012 18:10:30 +0200] rev 17346
check-code: fix check for trailing whitespace on empty lines It seems like the intention with c7d23b4ca4ba was to catch lines with only one whitespace too.
Wed, 08 Aug 2012 18:10:16 +0200 check-code: fix check for trailing whitespace on sh command lines
Mads Kiilerich <mads@kiilerich.com> [Wed, 08 Aug 2012 18:10:16 +0200] rev 17345
check-code: fix check for trailing whitespace on sh command lines The $ has been without necessary escaping since introduced in c7d23b4ca4ba.
Wed, 08 Aug 2012 21:38:53 +0200 Merge with stable
Patrick Mezard <patrick@mezard.eu> [Wed, 08 Aug 2012 21:38:53 +0200] rev 17344
Merge with stable
Mon, 06 Aug 2012 10:45:11 +0200 update: fix typo in help text stable
Adrian Buehlmann <adrian@cadifra.com> [Mon, 06 Aug 2012 10:45:11 +0200] rev 17343
update: fix typo in help text Spotted by Kevin Chase <kevincha99@hotmail.com>
Wed, 08 Aug 2012 10:04:02 -0500 clone: don't fail with --update for non-local clones (issue3578) stable
Augie Fackler <raf@durin42.com> [Wed, 08 Aug 2012 10:04:02 -0500] rev 17342
clone: don't fail with --update for non-local clones (issue3578) This was broken by 5884812686f7 due to lack of test coverage. This adds a test and fixes the defect.
Mon, 06 Aug 2012 12:07:21 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 06 Aug 2012 12:07:21 -0500] rev 17341
merge with stable
Mon, 06 Aug 2012 12:03:07 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Mon, 06 Aug 2012 12:03:07 -0500] rev 17340
merge with i18n
Mon, 06 Aug 2012 18:15:16 +0400 i18n-ru: synchronized with 474ae9720aa5 stable
Alexander Sauta <demosito@gmail.com> [Mon, 06 Aug 2012 18:15:16 +0400] rev 17339
i18n-ru: synchronized with 474ae9720aa5
Thu, 02 Aug 2012 11:46:30 -0300 i18n-pt_BR: synchronized with e4db509c08ec stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 02 Aug 2012 11:46:30 -0300] rev 17338
i18n-pt_BR: synchronized with e4db509c08ec
Thu, 02 Aug 2012 11:45:16 -0300 histedit, i18n: warn translators about edit command names stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 02 Aug 2012 11:45:16 -0300] rev 17337
histedit, i18n: warn translators about edit command names
Sat, 04 Aug 2012 15:58:23 +0200 Merge with stable
Patrick Mezard <patrick@mezard.eu> [Sat, 04 Aug 2012 15:58:23 +0200] rev 17336
Merge with stable
Thu, 02 Aug 2012 11:28:21 -0300 histedit: sync docstring with edit comment stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 02 Aug 2012 11:28:21 -0300] rev 17335
histedit: sync docstring with edit comment The docstring should probably reuse the edit comment string instead.
Sat, 04 Aug 2012 14:37:17 +0200 templater: handle a missing value correctly stable
Ross Lagerwall <rosslagerwall@gmail.com> [Sat, 04 Aug 2012 14:37:17 +0200] rev 17334
templater: handle a missing value correctly Before, using a broken style such as: changeset = would result in a traceback. This fixes a regression introduced in 63c47e4ac617.
Sat, 04 Aug 2012 12:29:53 +0200 help/hgweb: fix spelling error stable
Javi Merino <cibervicho@gmail.com> [Sat, 04 Aug 2012 12:29:53 +0200] rev 17333
help/hgweb: fix spelling error
Fri, 03 Aug 2012 17:33:44 +0200 tests: remove stray test-convert-mtn-rename-directory.out
Patrick Mezard <patrick@mezard.eu> [Fri, 03 Aug 2012 17:33:44 +0200] rev 17332
tests: remove stray test-convert-mtn-rename-directory.out
Thu, 02 Aug 2012 18:33:40 +0200 Merge with stable
Patrick Mezard <patrick@mezard.eu> [Thu, 02 Aug 2012 18:33:40 +0200] rev 17331
Merge with stable
Thu, 02 Aug 2012 17:48:58 +0200 context: simplify workingctx._parents
Patrick Mezard <patrick@mezard.eu> [Thu, 02 Aug 2012 17:48:58 +0200] rev 17330
context: simplify workingctx._parents
Thu, 02 Aug 2012 01:49:36 -0500 Added signature for changeset 7f5094bb3f42 stable
Matt Mackall <mpm@selenic.com> [Thu, 02 Aug 2012 01:49:36 -0500] rev 17329
Added signature for changeset 7f5094bb3f42
Thu, 02 Aug 2012 01:49:32 -0500 Added tag 2.3 for changeset 7f5094bb3f42 stable
Matt Mackall <mpm@selenic.com> [Thu, 02 Aug 2012 01:49:32 -0500] rev 17328
Added tag 2.3 for changeset 7f5094bb3f42
Wed, 01 Aug 2012 15:12:22 +0200 test: fix typo in test comment stable 2.3
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 01 Aug 2012 15:12:22 +0200] rev 17327
test: fix typo in test comment
Wed, 01 Aug 2012 09:41:57 -0500 histedit: add proper locking around repair.strip() calls stable
Augie Fackler <raf@durin42.com> [Wed, 01 Aug 2012 09:41:57 -0500] rev 17326
histedit: add proper locking around repair.strip() calls
Tue, 31 Jul 2012 18:18:26 +0200 rebase: remove second broken synopsis line (issue3172) stable
Patrick Mezard <patrick@mezard.eu> [Tue, 31 Jul 2012 18:18:26 +0200] rev 17325
rebase: remove second broken synopsis line (issue3172) Displaying multiple synopsis in online help has been broken since Matt RST refactoring, around ff26712a0c50. Rebase help is apparently the only one using this trick, just drop the second synopsis and assume people will understand as with graft help.
Sat, 28 Jul 2012 22:40:30 +0300 localrepo: clear the filecache on _rollback() and destroyed() stable
Idan Kamara <idankk86@gmail.com> [Sat, 28 Jul 2012 22:40:30 +0300] rev 17324
localrepo: clear the filecache on _rollback() and destroyed() This restores the old behaviour of clearing the filecache when the repo is destroyed but combines it with also clearing it on _rollback. Before, we tried to only call it through _rollback but that ruined callers of destroyed. Doing it on both code paths covers destroyed being called from somewhere else, e.g. strip.
Wed, 01 Aug 2012 00:20:10 +0200 help: add 'mergetools' alias for the 'merge-tools' help topic stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 01 Aug 2012 00:20:10 +0200] rev 17323
help: add 'mergetools' alias for the 'merge-tools' help topic The '-' in 'merge-tools' is surprising but necessary in the configuration. Let's help those who forget that and are looking for help.
Wed, 01 Aug 2012 14:59:15 +0200 help: use the first topic name from helptable, not the longest alias stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 01 Aug 2012 14:59:15 +0200] rev 17322
help: use the first topic name from helptable, not the longest alias This makes the 'additional help topics' list consistent with the output from keyword search (for instance subrepo/subrepos). The sorting by longest name was introduced in 3f6a4f1de43f. There might have been a good reason for it back then, but now it seems like a better idea to place the preferred name first in the list in helptable.
Wed, 01 Aug 2012 00:18:23 +0200 help: fix helptable indentation stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 01 Aug 2012 00:18:23 +0200] rev 17321
help: fix helptable indentation
Wed, 01 Aug 2012 14:08:19 +0200 transplant: fix emptied changeset message stable
Patrick Mezard <patrick@mezard.eu> [Wed, 01 Aug 2012 14:08:19 +0200] rev 17320
transplant: fix emptied changeset message - Append an EOL - State the changeset is skipped
Tue, 31 Jul 2012 17:39:32 +0200 transplant: handle non-empty patches doing nothing (issue2806) stable
Patrick Mezard <patrick@mezard.eu> [Tue, 31 Jul 2012 17:39:32 +0200] rev 17319
transplant: handle non-empty patches doing nothing (issue2806) If patch.patch() reports patched files when applying a changeset and the following commit says nothing changed, transplant used to abort with a RuntimeError, assuming something went wrong with patching. The mismatch is patch.patch() reports patched files, not changed ones. It could be modified to report changed files but it means duplicating work from status, may be expensive in the case of binary files, and is probably not that useful at API level. For instance, if two patches are applied on the working directory, the outcome may be nothing changed while each call would have returned modified files. The caller would have to call status() itself again. This patch fixes the issue by trusting patching code: if the patch succeeded and commit reports nothing changed, then nothing changed, patch() did not "dropped changes on the floor".
Sun, 29 Jul 2012 23:16:20 +0200 hgweb: fix graph view paging stable
Patrick Mezard <patrick@mezard.eu> [Sun, 29 Jul 2012 23:16:20 +0200] rev 17318
hgweb: fix graph view paging - Fix off-by-one error on displayed entries count in normal mode - Fix incorrect paging when the top revision was lower than revcount - Fix revcount not overriding web.maxshortchanges everywhere
Sun, 29 Jul 2012 19:44:57 +0200 help/config.txt: document web.maxshortchanges stable
Patrick Mezard <patrick@mezard.eu> [Sun, 29 Jul 2012 19:44:57 +0200] rev 17317
help/config.txt: document web.maxshortchanges
Sun, 29 Jul 2012 19:37:25 +0200 help/config.txt: reorder [web] options stable
Patrick Mezard <patrick@mezard.eu> [Sun, 29 Jul 2012 19:37:25 +0200] rev 17316
help/config.txt: reorder [web] options
Mon, 30 Jul 2012 03:27:07 +0900 histedit: make comment part of the file describing rules as translatable stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 30 Jul 2012 03:27:07 +0900] rev 17315
histedit: make comment part of the file describing rules as translatable "i18n.gettext()" invocation for "editcomment" itself should have little impact for whole initialization cost of histedit, because it is already invoked for initialization of the command table entry. '\n\n' has to be added to the text being edited separately from "editcomment", because leading 'line feed' characters are not exported to "hg.pot" file correctly.
Thu, 02 Aug 2012 00:52:43 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Thu, 02 Aug 2012 00:52:43 -0500] rev 17314
merge with i18n
Wed, 01 Aug 2012 18:56:39 +0400 i18n-ru: synchronized with 85188487b9b4 stable
Alexander Sauta <demosito@gmail.com> [Wed, 01 Aug 2012 18:56:39 +0400] rev 17313
i18n-ru: synchronized with 85188487b9b4
Fri, 20 Jul 2012 12:18:31 +0400 i18n-ru: add missing space in summary output template stable
Nikolaj Sjujskij <sterkrig@myopera.com> [Fri, 20 Jul 2012 12:18:31 +0400] rev 17312
i18n-ru: add missing space in summary output template
Wed, 01 Aug 2012 18:10:07 +0400 i18n-ru: synchronized with b616e4aacf96 stable
Alexander Sauta <demosito@gmail.com> [Wed, 01 Aug 2012 18:10:07 +0400] rev 17311
i18n-ru: synchronized with b616e4aacf96
Wed, 01 Aug 2012 05:58:00 +0900 i18n-ja: synchronized with 3339e3df159d stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 01 Aug 2012 05:58:00 +0900] rev 17310
i18n-ja: synchronized with 3339e3df159d
Tue, 31 Jul 2012 14:12:14 -0300 i18n-pt_BR: synchronized with e66fa4d587dc stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 31 Jul 2012 14:12:14 -0300] rev 17309
i18n-pt_BR: synchronized with e66fa4d587dc With review and suggestions by Sheila Genesine.
Wed, 01 Aug 2012 15:49:00 +0200 log: make opts entries optional (issue2423) stable
Patrick Mezard <patrick@mezard.eu> [Wed, 01 Aug 2012 15:49:00 +0200] rev 17308
log: make opts entries optional (issue2423)
Tue, 31 Jul 2012 19:47:54 +0200 test-clone: fix for vfat stable
Adrian Buehlmann <adrian@cadifra.com> [Tue, 31 Jul 2012 19:47:54 +0200] rev 17307
test-clone: fix for vfat fixes http://hgbuildbot.kublai.com/builders/vfat%20hg%20tests%20%28stable%29/builds/65
Tue, 31 Jul 2012 15:57:50 +0200 obsolete: fix typos in comments introduced by 6955d69a52a4 stable
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 31 Jul 2012 15:57:50 +0200] rev 17306
obsolete: fix typos in comments introduced by 6955d69a52a4
Tue, 31 Jul 2012 15:50:44 +0200 pager: drop -S option for less in example for pager configuration stable
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 31 Jul 2012 15:50:44 +0200] rev 17305
pager: drop -S option for less in example for pager configuration Using less -S will hide possibly important information when reviewing a changeset, e.g. something wrong/dangerous after the 80th column, because "less" will not give an indication that following characters are hidden.
Tue, 31 Jul 2012 15:32:08 +0200 obsolete: properly increment currentlen when building pushkey payload stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 31 Jul 2012 15:32:08 +0200] rev 17304
obsolete: properly increment currentlen when building pushkey payload In the old code, the current length was always 0 leading to markers payload never being split.
Tue, 31 Jul 2012 00:59:38 +0200 hgweb: fixes invalid parents / children in comparison stable
wujek srujek <wujek.srujek@googlemail.com> [Tue, 31 Jul 2012 00:59:38 +0200] rev 17303
hgweb: fixes invalid parents / children in comparison Previously, the parents / children were computed relative to the cset of the currently shown file, which was wrong and inconsistent with diff and others. With this patch, the listed csets are those that contain changes to the currently compared file, which don't necessarily have to be the direct parents and children of the changeset itself.
Tue, 31 Jul 2012 14:14:15 +0200 hgweb: fixes traceback for invalid files by removing top-level template stable
wujek srujek <wujek.srujek@googlemail.com> [Tue, 31 Jul 2012 14:14:15 +0200] rev 17302
hgweb: fixes traceback for invalid files by removing top-level template The top-level 'comparison' template was not really needed, and it also caused a traceback to be shown for inexistent files (as reported by Ross Lagerwall). Getting rid of it makes the overall templating structure simpler and causes invalid files to be handled nicely.
Mon, 30 Jul 2012 22:33:45 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Jul 2012 22:33:45 -0500] rev 17301
merge with i18n
Mon, 30 Jul 2012 03:37:28 +0900 i18n-ja: synchronized with b087cfebc3ac stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 30 Jul 2012 03:37:28 +0900] rev 17300
i18n-ja: synchronized with b087cfebc3ac
Tue, 31 Jul 2012 03:30:42 +0200 check-code: indent 4 spaces in py files stable
Mads Kiilerich <mads@kiilerich.com> [Tue, 31 Jul 2012 03:30:42 +0200] rev 17299
check-code: indent 4 spaces in py files
Sat, 28 Jul 2012 13:33:06 +0200 pushkey: do not exchange obsole markers if feature is disabled stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 28 Jul 2012 13:33:06 +0200] rev 17298
pushkey: do not exchange obsole markers if feature is disabled This apply to both push and pull both when client or server.
Sat, 28 Jul 2012 13:05:25 +0200 obsolete: warns if markers exist in a repo where the feature is not enabled stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Sat, 28 Jul 2012 13:05:25 +0200] rev 17297
obsolete: warns if markers exist in a repo where the feature is not enabled We don't simply abort to allow the user to run other diagnostic commands.
Sat, 28 Jul 2012 13:19:06 +0200 obsolete: introduce an `_enabled` switch to disable the feature by default stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Sat, 28 Jul 2012 13:19:06 +0200] rev 17296
obsolete: introduce an `_enabled` switch to disable the feature by default Obsolete markers wide-usage and propagation should be avoided by default until the obsolete feature is more mature. This changeset introduce the `_enable` variable and prevent the creation of obsolete marker if the feature is set to `False` (the default). More limitation comes in followup changesets.
Fri, 27 Jul 2012 18:32:56 +0200 pushkey: splits obsolete marker exchange into multiple keys stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 27 Jul 2012 18:32:56 +0200] rev 17295
pushkey: splits obsolete marker exchange into multiple keys Obsolete markers are now exchanged in smaller pieces that fit in a http header. This changes is done to avoid 400 bad request error when exchanging obsolete puskey over http. The last key pushed is always hold by the "dump0" key to ensure an easy place to hook for people who need it.
Thu, 26 Jul 2012 16:41:42 +0200 obsolete: add debug output regarding obsolete marker exchange. stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 26 Jul 2012 16:41:42 +0200] rev 17294
obsolete: add debug output regarding obsolete marker exchange.
Sat, 28 Jul 2012 12:28:35 +0200 pushkey: add more verbose debug output regarding pushkey stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Sat, 28 Jul 2012 12:28:35 +0200] rev 17293
pushkey: add more verbose debug output regarding pushkey Very few data are displayed now, making it hard to debug phases and obsolete related issues.
Mon, 30 Jul 2012 19:26:05 +0200 debugobsolete: do not traceback on invalid node identifiers stable
Patrick Mezard <patrick@mezard.eu> [Mon, 30 Jul 2012 19:26:05 +0200] rev 17292
debugobsolete: do not traceback on invalid node identifiers
Mon, 30 Jul 2012 15:48:04 +0200 revset: minor doc fixes on obsolete related revsets stable
Patrick Mezard <patrick@mezard.eu> [Mon, 30 Jul 2012 15:48:04 +0200] rev 17291
revset: minor doc fixes on obsolete related revsets
Mon, 30 Jul 2012 11:33:27 +0200 hgweb: make paper:error consistent with template stable
Ross Lagerwall <rosslagerwall@gmail.com> [Mon, 30 Jul 2012 11:33:27 +0200] rev 17290
hgweb: make paper:error consistent with template Tests fixed by Patrick Mézard <patrick@mezard.eu>
Mon, 30 Jul 2012 11:02:10 +0200 hgweb: avoid traceback when file or node parameters are missing stable
Ross Lagerwall <rosslagerwall@gmail.com> [Mon, 30 Jul 2012 11:02:10 +0200] rev 17289
hgweb: avoid traceback when file or node parameters are missing Previously, browsing to http://serv/diff would generate an internal server error due to the file and node parameters being missing. The same error also occurred for filelog, comparison and annotate.
Mon, 30 Jul 2012 08:18:25 +0200 hgweb: fix "branches" links in gitweb template stable
Ross Lagerwall <rosslagerwall@gmail.com> [Mon, 30 Jul 2012 08:18:25 +0200] rev 17288
hgweb: fix "branches" links in gitweb template Tests fixed by Patrick Mézard <patrick@mezard.eu>
Mon, 30 Jul 2012 08:11:22 +0200 hgweb: fix typo in monoblue template stable
Ross Lagerwall <rosslagerwall@gmail.com> [Mon, 30 Jul 2012 08:11:22 +0200] rev 17287
hgweb: fix typo in monoblue template
Mon, 30 Jul 2012 08:06:05 +0200 hgweb: fix capitalization in monoblue template stable
Ross Lagerwall <rosslagerwall@gmail.com> [Mon, 30 Jul 2012 08:06:05 +0200] rev 17286
hgweb: fix capitalization in monoblue template Make the capitalization consistent on all pages.
Mon, 30 Jul 2012 03:53:38 +0200 histedit: add trailing newline when editing commit messages stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 30 Jul 2012 03:53:38 +0200] rev 17285
histedit: add trailing newline when editing commit messages test-histedit-edit.t failed because Solaris sed strips lines not ending with \n.
Mon, 30 Jul 2012 02:38:32 +0200 test-histedit-outgoing.t: remove unused section stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 30 Jul 2012 02:38:32 +0200] rev 17284
test-histedit-outgoing.t: remove unused section
Mon, 30 Jul 2012 02:38:29 +0200 test-hook.t: Solaris /usr/bin/egrep do not support {4} stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 30 Jul 2012 02:38:29 +0200] rev 17283
test-hook.t: Solaris /usr/bin/egrep do not support {4}
Sun, 29 Jul 2012 12:29:35 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Sun, 29 Jul 2012 12:29:35 -0500] rev 17282
merge with i18n
Sat, 28 Jul 2012 22:58:18 +0200 i18n-sv: continue translating mq extension stable
Jens Bäckman <jens.backman@gmail.com> [Sat, 28 Jul 2012 22:58:18 +0200] rev 17281
i18n-sv: continue translating mq extension
Sat, 28 Jul 2012 14:59:09 +0200 i18n-sv: translated record extension stable
Jens Bäckman <jens.backman@gmail.com> [Sat, 28 Jul 2012 14:59:09 +0200] rev 17280
i18n-sv: translated record extension
Sat, 28 Jul 2012 14:57:21 +0200 i18n-sv: synchronized with a09cc6aeed4a stable
Jens Bäckman <jens.backman@gmail.com> [Sat, 28 Jul 2012 14:57:21 +0200] rev 17279
i18n-sv: synchronized with a09cc6aeed4a
Sun, 29 Jul 2012 17:04:51 +0200 win32: update Inno Setup installer extensions list stable
Pascal Quantin <pascal.quantin@gmail.com> [Sun, 29 Jul 2012 17:04:51 +0200] rev 17278
win32: update Inno Setup installer extensions list
Sun, 29 Jul 2012 11:08:45 -0500 hgweb: avoid traceback if raw is used as default style stable
Matt Mackall <mpm@selenic.com> [Sun, 29 Jul 2012 11:08:45 -0500] rev 17277
hgweb: avoid traceback if raw is used as default style Spotted by Angel Ezquerra.
Sat, 28 Jul 2012 22:55:01 +0200 largefiles: use hg.peer instead of hg.remoteui stable
Simon Heimberg <simohe@besonet.ch> [Sat, 28 Jul 2012 22:55:01 +0200] rev 17276
largefiles: use hg.peer instead of hg.remoteui
Sun, 29 Jul 2012 16:19:32 +0900 histedit: remove updating statistics line from the examples describing rules stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 29 Jul 2012 16:19:32 +0900] rev 17275
histedit: remove updating statistics line from the examples describing rules Before this patch, updating statistics line appears at the bottom of the examples describing rules to edit history. But such line never appear in the file describing rules while histedit-ing, so this patch removes that line from the examples.
Sun, 29 Jul 2012 09:03:51 +0200 hgignore: ignore zip files stable
Adrian Buehlmann <adrian@cadifra.com> [Sun, 29 Jul 2012 09:03:51 +0200] rev 17274
hgignore: ignore zip files
Sat, 28 Jul 2012 22:36:22 +0200 peer: delete double definition of method peer stable
Simon Heimberg <simohe@besonet.ch> [Sat, 28 Jul 2012 22:36:22 +0200] rev 17273
peer: delete double definition of method peer
Sat, 28 Jul 2012 23:51:57 +0900 revset: fix the definition of "unstable changesets" for "unstable" predicate stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 28 Jul 2012 23:51:57 +0900] rev 17272
revset: fix the definition of "unstable changesets" for "unstable" predicate unstable-ness of changesets should be determined by obsolete-ness of not descendants but ancestors.
Fri, 20 Jul 2012 19:08:26 -0400 largefiles: support revsets for outgoing --large stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 20 Jul 2012 19:08:26 -0400] rev 17271
largefiles: support revsets for outgoing --large Previous to this, outgoing with a revset succeeded unless --large was also specified.
Fri, 20 Jul 2012 23:50:52 -0400 largefiles: fix a traceback introduced with recent peer changes stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 20 Jul 2012 23:50:52 -0400] rev 17270
largefiles: fix a traceback introduced with recent peer changes Changeset 1ac628cd7113 broke 'outgoing --large' ... File "hgext\largefiles\lfutil.py", line 56, in findoutgoing remote.local(), force=force) File "mercurial\discovery.py", line 31, in findcommonincoming if not remote.capable('getbundle'): AttributeError: 'lfilesrepo' object has no attribute 'capable' This restores the previous functionality, though I'm not sure if there's a better way to do this- that changeset introduces a hunk in debugdiscovery that does this: if not util.safehasattr(remote, 'branches'): # enable in-client legacy support remote = localrepo.locallegacypeer(remote.local()) Is there a legacy support issue here too?
Fri, 20 Jul 2012 19:14:41 -0400 largefiles: support revsets for cat stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 20 Jul 2012 19:14:41 -0400] rev 17269
largefiles: support revsets for cat Previous to this, cat only accepted revsets if the largefiles extension was disabled.
Fri, 20 Jul 2012 18:13:19 -0400 largefiles: support revsets for revert stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 20 Jul 2012 18:13:19 -0400] rev 17268
largefiles: support revsets for revert Previous to this, revert only accepted revsets if the largefiles extension was disabled.
Wed, 25 Jul 2012 16:40:38 +0900 doc: unify section level between help topics stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 25 Jul 2012 16:40:38 +0900] rev 17267
doc: unify section level between help topics Some help topics use "-" for the top level underlining section mark, but "-" is used also for the top level categorization in generated documents: "hg.1.html", for example. So, TOC in such documents contain "sections in each topics", too. This patch changes underlining section mark in some help topics to unify section level in generated documents. After this patching, levels of each section marks are: level0 """""" level1 ====== level2 ------ level3 ...... level4 ###### And use of section markers in each documents are: - mercurial/help/*.txt can use level1 or more (now these use level1 and level2) - help for core commands can use level2 or more (now these use no section marker) - descriptions of extensions can use level2 or more (now hgext/acl uses level2) - help for commands defined in extension can use level4 or more (now "convert" of hgext/convert uses level4) "Level0" is used as top level categorization only in "doc/hg.1.txt" and the intermediate file generated by "doc/gendoc.py", so end users don't see it in "hg help" outoput and so on.
Mon, 23 Jul 2012 19:03:32 +0200 addremove: mention --similarity defaults to 100 (issue3430) stable
Patrick Mezard <patrick@mezard.eu> [Mon, 23 Jul 2012 19:03:32 +0200] rev 17266
addremove: mention --similarity defaults to 100 (issue3430)
Wed, 25 Jul 2012 22:41:26 -0400 revset: polish explanation of the difference between file() and filelog() stable
Greg Ward <greg@gerg.ca> [Wed, 25 Jul 2012 22:41:26 -0400] rev 17265
revset: polish explanation of the difference between file() and filelog()
Thu, 26 Jul 2012 16:57:50 -0500 strip: move bookmarks to nearest ancestor rather than '.' stable
Augie Fackler <raf@durin42.com> [Thu, 26 Jul 2012 16:57:50 -0500] rev 17264
strip: move bookmarks to nearest ancestor rather than '.' If you've got this graph: 0-1-2 \ 3 and 3 is checked out, 2 is bookmarked with "broken", and you do "hg strip 2", the bookmark will move to 3, not 1. That's always struck me as a bug. This change makes bookmarks move to the tipmost ancestor of the stripped set rather than the currently-checked-out revision, which is what I always expected should happen.
Fri, 27 Jul 2012 12:33:48 -0500 largefiles: fix exception hack for i18n (issue3197) stable
Matt Mackall <mpm@selenic.com> [Fri, 27 Jul 2012 12:33:48 -0500] rev 17263
largefiles: fix exception hack for i18n (issue3197) Properly fixing this is quite a bit trickier.
Fri, 27 Jul 2012 12:32:02 -0500 merge with crew stable
Matt Mackall <mpm@selenic.com> [Fri, 27 Jul 2012 12:32:02 -0500] rev 17262
merge with crew
Fri, 27 Jul 2012 17:48:49 +0200 webcommands: do not modify repo.tagslist() stable
Patrick Mezard <patrick@mezard.eu> [Fri, 27 Jul 2012 17:48:49 +0200] rev 17261
webcommands: do not modify repo.tagslist() Repeatedly refreshing a gitweb summary page served by hg serve would show the tags list switching between two different sequences.
Tue, 05 Jun 2012 17:00:13 -0700 tag: don't allow tagging the null revision (issue1915) stable
Brad Hall <bhall@fb.com> [Tue, 05 Jun 2012 17:00:13 -0700] rev 17260
tag: don't allow tagging the null revision (issue1915) Also fixed the tests that were doing this and expected it to work
Thu, 26 Jul 2012 13:58:43 +0900 i18n: add/relocate "i18n keyword" comments for i18n messages in revset.py stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 26 Jul 2012 13:58:43 +0900] rev 17259
i18n: add/relocate "i18n keyword" comments for i18n messages in revset.py
Thu, 26 Jul 2012 13:58:43 +0900 revset: use appropriate predicate name in error messages stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 26 Jul 2012 13:58:43 +0900] rev 17258
revset: use appropriate predicate name in error messages "extinct" and "unstable" predicates use "obsolete" implementation internally, but own predicate name should be used in error messages of them instead of "obsolete".
Thu, 26 Jul 2012 23:08:34 +0200 test-histedit-fold: fix for Windows stable
Adrian Buehlmann <adrian@cadifra.com> [Thu, 26 Jul 2012 23:08:34 +0200] rev 17257
test-histedit-fold: fix for Windows Fixes 336121088ef1 failing with MSYS. MSYS sh.exe mangled that path by applying its path magic, which caused the test to fail on Windows.
Thu, 26 Jul 2012 17:04:01 -0500 tags: visit new heads in forward order when rebuilding cache stable
Matt Mackall <mpm@selenic.com> [Thu, 26 Jul 2012 17:04:01 -0500] rev 17256
tags: visit new heads in forward order when rebuilding cache This improves performance of building the tag cache by 4x on a repo with ~2800 heads.
Fri, 27 Jul 2012 13:56:19 +0200 identity: show trailing '+' for dirty subrepos (issue2839) stable
Patrick Mezard <patrick@mezard.eu> [Fri, 27 Jul 2012 13:56:19 +0200] rev 17255
identity: show trailing '+' for dirty subrepos (issue2839)
Fri, 27 Jul 2012 10:16:20 +0200 discovery: fix invalid comment about extinct being ignored stable
Patrick Mezard <patrick@mezard.eu> [Fri, 27 Jul 2012 10:16:20 +0200] rev 17254
discovery: fix invalid comment about extinct being ignored
Thu, 26 Jul 2012 16:21:43 +0200 obsolete: fix decoding error message arguments stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Jul 2012 16:21:43 +0200] rev 17253
obsolete: fix decoding error message arguments
Tue, 24 Jul 2012 21:20:56 +0200 push: do not try to push remote obsolete if local has none stable
Patrick Mezard <patrick@mezard.eu> [Tue, 24 Jul 2012 21:20:56 +0200] rev 17252
push: do not try to push remote obsolete if local has none
Thu, 26 Jul 2012 02:54:13 +0200 help: fix some instances of 'the the' stable
Mads Kiilerich <mads@kiilerich.com> [Thu, 26 Jul 2012 02:54:13 +0200] rev 17251
help: fix some instances of 'the the'
Fri, 06 Jul 2012 18:06:52 -0400 pager: work around bug in python 2.4's subprocess module (issue3533) stable
Michael Bacarella <mbacarella@janestreet.com> [Fri, 06 Jul 2012 18:06:52 -0400] rev 17250
pager: work around bug in python 2.4's subprocess module (issue3533) hg v2.2.2 fixed the pager on Windows, but broke it on Python 2.4. This patch only uses the new behavior if Python >= 2.5 is detected.
Wed, 25 Jul 2012 19:02:35 +0200 clone: copy obsolete markers during local clone stable
Pierre-Yves.David@ens-lyon.org [Wed, 25 Jul 2012 19:02:35 +0200] rev 17249
clone: copy obsolete markers during local clone This change adds `obsstore` to the list of files copied by local clone, until now changesets were copied without their obsolete markers. Note: extinct changesets were and are still included by such clones to enable hardlinking. There is no obvious reason to prevent their exchange here. Rebased by Patrick Mezard <patrick@mezard.eu>
Wed, 25 Jul 2012 19:34:31 +0200 discovery: add extinct changesets to outgoing.excluded stable
Patrick Mezard <patrick@mezard.eu> [Wed, 25 Jul 2012 19:34:31 +0200] rev 17248
discovery: add extinct changesets to outgoing.excluded Before this change, push would incorrectly fast-path the bundle generation when extinct changesets are involved, because they are not added to outgoing.excluded. The reason to do so are related to outgoing.excluded being assumed to contain only secret changesets by scmutil.nochangesfound(), when displaying warnings like: changes found (ignored 9 secret changesets) Still, outgoing.excluded seems like a good API to report the extinct changesets instead of dedicated code and nothing in the docstring indicates it to be bound to secret changesets. This patch adds extinct changesets to outgoing.excluded and fixes scmutil.nochangesfound() to filter the excluded node list. Original version and test by Pierre-Yves.David@ens-lyon.org
Thu, 26 Jul 2012 12:07:55 +0200 convert/svn: handle non-local svn destination paths (issue3142) stable
Patrick Mezard <patrick@mezard.eu> [Thu, 26 Jul 2012 12:07:55 +0200] rev 17247
convert/svn: handle non-local svn destination paths (issue3142) test-convert-svn-sink.t still pass and I tested pushing to an svn+ssh repository
Wed, 25 Jul 2012 16:50:22 +0200 setup: fix build_hgexe for mingw32 compiler stable
Adrian Buehlmann <adrian@cadifra.com> [Wed, 25 Jul 2012 16:50:22 +0200] rev 17246
setup: fix build_hgexe for mingw32 compiler Fixes python setup.py build_hgexe -i --compiler=mingw32
Sun, 22 Jul 2012 23:37:53 -0400 largefiles: fix path handling for cp/mv (issue3516) stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 22 Jul 2012 23:37:53 -0400] rev 17245
largefiles: fix path handling for cp/mv (issue3516) Previously, a copy or a move of a largefile only worked if the cwd was the root of the repository. The first issue was that the destination path passed to os.mkdirs() chopped the absolute path to the standin after '.hglf/', which essentially created a path relative to the repository root. Similarly, the second issue was that the source and dest paths for copyfile() were relative to the repo root. This converts these three paths to absolute paths. Some notable issues, regardless of the directory in which the cp/mv is executed: 1) The copy is not being recorded in lfdirstate, but it is in dirstate for the standins. I'm not sure if this is by design (i.e. minimal info in lfdirstate). 2) status -C doesn't behave as expected. Using the testcase as an example: # after mv + ci $ hg status -C -v --rev '.^' # expected to see 'A' and ' ' lines too R dira\dirb\largefile $ hg status -C -v --rev '.^' foo/largefile # no output # expected to see 'A' and ' ' lines only $ hg status -C -v --rev '.^' foo/ # no output # expected to see 'A', ' ' and 'R' lines $ hg status -C -v --rev '.^' ./ # expected to see 'A' and ' ' lines too R dirb\largefile $ hg status -C -v --rev '.^' ../.hglf/dira/foo/largefile A ..\.hglf\dira\foo\largefile ..\.hglf\dira\dirb\largefile # no 'R' expected when new file is specified $ hg status -C -v --rev '.^' ../.hglf # OK A ..\.hglf\dira\foo\largefile ..\.hglf\dira\dirb\largefile R ..\.hglf\dira\dirb\largefile
Wed, 25 Jul 2012 16:15:28 +0900 revset: add explanation about difference between 'filelog()' and 'file()' stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 25 Jul 2012 16:15:28 +0900] rev 17244
revset: add explanation about difference between 'filelog()' and 'file()'
Wed, 25 Jul 2012 14:49:53 -0500 hgweb: improve colors for comparison page stable
Matt Mackall <mpm@selenic.com> [Wed, 25 Jul 2012 14:49:53 -0500] rev 17243
hgweb: improve colors for comparison page delete: red -> red insert: green -> yellow change: yellow -> gray
Wed, 25 Jul 2012 16:27:26 +0200 histedit: fix new nodes computation with --continue (issue3534) stable
Patrick Mezard <patrick@mezard.eu> [Wed, 25 Jul 2012 16:27:26 +0200] rev 17242
histedit: fix new nodes computation with --continue (issue3534) When running the following actions: pick 617f94f13c0f 1 +4 drop 888f9082bf99 2 +5 fold 251d831eeec5 3 +6 if the fold fails, is fixed by the user with a new changeset, --continue will ignore the new revision when generating the fold changelog. This was caused by --continue detecting new changesets as descendants of the parent not descendants of changesets in the initial list. In this case, dropped changesets must be ignored. Even with the computation fixed, the 'newchildren' list was always emptied by the filtering loop and passed empty to finishfold(). Note that changesets dropped and recreated identically will still be missed. This probably cannot be solved but is unlikely to happen. Other things, like 'newchildren' having multiple heads, should be checked as well.
Wed, 25 Jul 2012 11:09:51 +0200 histedit: end folding message with an LF stable
Patrick Mezard <patrick@mezard.eu> [Wed, 25 Jul 2012 11:09:51 +0200] rev 17241
histedit: end folding message with an LF This is convenient when running tests dumping the editor content, it avoids the following output line to be mixed with histedit message.
Tue, 24 Jul 2012 12:36:40 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Tue, 24 Jul 2012 12:36:40 -0500] rev 17240
merge with i18n
Mon, 23 Jul 2012 20:38:33 +0200 i18n-sv: synchronized with d1b49b02bc16 stable
Jens Bäckman <jens.backman@gmail.com> [Mon, 23 Jul 2012 20:38:33 +0200] rev 17239
i18n-sv: synchronized with d1b49b02bc16
Mon, 23 Jul 2012 15:40:19 -0700 merge with crew-stable stable
Bryan O'Sullivan <bryano@fb.com> [Mon, 23 Jul 2012 15:40:19 -0700] rev 17238
merge with crew-stable
Mon, 23 Jul 2012 15:38:43 -0700 util: delegate seek and tell methods of atomictempfile stable
Bryan O'Sullivan <bryano@fb.com> [Mon, 23 Jul 2012 15:38:43 -0700] rev 17237
util: delegate seek and tell methods of atomictempfile
Mon, 23 Jul 2012 15:55:26 -0600 encoding: add fast-path for ASCII uppercase. stable
Martin Geisler <mg@aragost.com> [Mon, 23 Jul 2012 15:55:26 -0600] rev 17236
encoding: add fast-path for ASCII uppercase. This copies the performance hack from encoding.lower (c481761033bd). The case-folding logic that kicks in on case-insensitive filesystems hits encoding.upper hard: with a repository with 75k files, the timings went from hg perfstatus ! wall 3.156000 comb 3.156250 user 1.625000 sys 1.531250 (best of 3) to hg perfstatus ! wall 2.390000 comb 2.390625 user 1.078125 sys 1.312500 (best of 5) This is a 24% decrease. For comparison, Mercurial 2.0 gives: hg perfstatus ! wall 2.172000 comb 2.171875 user 0.984375 sys 1.187500 (best of 5) so we're only 10% slower than before we added the extra case-folding logic. The same decrease is seen when executing 'hg status' as normal, where we go from: hg status --time time: real 4.322 secs (user 2.219+0.000 sys 2.094+0.000) to hg status --time time: real 3.307 secs (user 1.750+0.000 sys 1.547+0.000)
Mon, 23 Jul 2012 15:55:22 -0600 encoding: use s.decode to trigger UnicodeDecodeError stable
Martin Geisler <mg@aragost.com> [Mon, 23 Jul 2012 15:55:22 -0600] rev 17235
encoding: use s.decode to trigger UnicodeDecodeError When calling encode on a str, the string is first decoded using the default encoding and then encoded. So s.encode('ascii') == s.decode().encode('ascii') We don't care about the encode step here -- we're just after the UnicodeDecodeError raised by decode if it finds a non-ASCII character. This way is also marginally faster since it saves the construction of the extra str object.
Sun, 22 Jul 2012 13:16:45 +0200 test-largefiles: fix test failing on vfat file systems stable
Adrian Buehlmann <adrian@cadifra.com> [Sun, 22 Jul 2012 13:16:45 +0200] rev 17234
test-largefiles: fix test failing on vfat file systems The usercache hardlinks files for filesystems that support hardlinks. So when this test is run on a filesystem that supports hardlinking, we have a link in r7 and in the usercache, pointing to the same file contents (4cdac4d8...). vfat does not support hardlinks, the file in the cache and in the store of r7 are thus independent. For the test to pass on vfat, we need to corrupt *both* the largefile in the usercache and in the store of r7. Corrupting only one of them is not sufficient. Fixes: --- /home/buildslave/mercurial/vfat_hg_tests__stable_/build/tests/test-largefiles.t +++ /home/buildslave/mercurial/vfat_hg_tests__stable_/build/tests/test-largefiles.t.err @@ -997,9 +997,11 @@ $ hg push -R r7 http://localhost:$HGPORT1 pushing to http://localhost:$HGPORT1/ searching for changes - remote: largefiles: failed to put 4cdac4d8b084d0b599525cf732437fb337d422a8 into store: largefile contents do not match hash - abort: remotestore: could not put $TESTTMP/r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8 to remote store http://localhost:$HGPORT1/ (glob) - [255] + searching for changes + remote: adding changesets + remote: adding manifests + remote: adding file changes + remote: added 2 changesets with 2 changes to 2 files $ rm -rf empty Push a largefiles repository to a served empty repository
Fri, 20 Jul 2012 22:10:52 -0400 largefiles: mark as a first party extension stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 20 Jul 2012 22:10:52 -0400] rev 17233
largefiles: mark as a first party extension
Thu, 19 Jul 2012 23:35:13 -0400 largefiles: ensure addlargefiles() doesn't add a standin as a largefile stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 19 Jul 2012 23:35:13 -0400] rev 17232
largefiles: ensure addlargefiles() doesn't add a standin as a largefile An easy way to force this (and cause a traceback) prior to the fix for 3507 was $ touch large $ hg add --large large $ hg ci -m "add" $ hg remove large $ touch large $ hg addremove --config largefiles.patterns=**large This patch also detected (and corrected) a previous test where a standin got added as a largefile (without a traceback).
Thu, 19 Jul 2012 11:12:05 -0400 largefiles: fix a traceback when addremove follows a remove (issue3507) stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 19 Jul 2012 11:12:05 -0400] rev 17231
largefiles: fix a traceback when addremove follows a remove (issue3507) The problem only occurred if a file was removed with 'hg rm' (as opposed to the OS utilities), and then addremove was run before a commit. Both normal and large files were affected. Ensuring that the file exists prior to an lstat() for size seems like the Right Thing. But oddly enough, the missing file that was causing lstat() to blow up was a standin when a largefile was removed, which seems fishy, because a standin should never be added as a largefile. I was then able to get a standin added as a largefile (whose name is 'large') with hg addremove --config largefiles.patterns=**large which also causes a backtrace. That will be fixed next.
Thu, 19 Jul 2012 10:00:15 -0400 largefiles: defer lfdirstate.drop() until after commit (issue3364) stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 19 Jul 2012 10:00:15 -0400] rev 17230
largefiles: defer lfdirstate.drop() until after commit (issue3364) The example in comment #9 of the bug writeup must be run exactly- it was the commit after the rm and prior to the addremove that screwed things up, because that commit noticed that the largefile was missing, called drop(), and then the original commit function did nothing (due to the file in the '!' state). The addremove command properly put it into the 'R' state, but it remained stuck in that state (because commit insisted 'nothing changed'). Without the commit prior to addremove, the problem didn't occur. Maybe this is an indication that lfdirstate needs to take a few more hints from the regular dirstate, regardless of what _it_ thinks the state is- similar inconsistency is probably still possible with this patch if the original commit succeeds but the lfdirstate write fails.
Thu, 19 Jul 2012 06:30:59 -0400 largefiles: fix addremove with -R option stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 19 Jul 2012 06:30:59 -0400] rev 17229
largefiles: fix addremove with -R option If a file was missing, the missing list contained a path relative to the repo. When building the matcher from that list, the file name ended up concatenated to cwd, causing the command to abort with '<file> not under root'. This rebuilds the missing list with paths relative to cwd.
Thu, 19 Jul 2012 21:20:56 +0200 dispatch: fix traceback when extension was tested with newer versions only stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 19 Jul 2012 21:20:56 +0200] rev 17228
dispatch: fix traceback when extension was tested with newer versions only The "worst" extension still is the one tested with the lowest tested version below the current version of Mercurial, but if an extension with was only tested with newer versions, it is considered a candidate for a bad extension, too. In this case extensions which have been tested with higher versions of Mercurial are considered better. This allows finding the oldest extension if ct can't be calculated correctly and therefore defaults to an empty tuple, and it involves less changes to the comparison logic during the current code freeze.
Thu, 19 Jul 2012 16:50:52 +0200 test-extension.t: use fixed version string instead of current tag stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 19 Jul 2012 16:50:52 +0200] rev 17227
test-extension.t: use fixed version string instead of current tag Currently tests break with the current tag being 2.3-rc and tags set by the user could affect this test, too.
Wed, 18 Jul 2012 19:09:06 -0500 Added tag 2.3-rc for changeset a06e2681dd17 stable
Matt Mackall <mpm@selenic.com> [Wed, 18 Jul 2012 19:09:06 -0500] rev 17226
Added tag 2.3-rc for changeset a06e2681dd17
Wed, 18 Jul 2012 19:08:25 -0500 merge default into stable for 2.3 code freeze stable 2.3-rc
Matt Mackall <mpm@selenic.com> [Wed, 18 Jul 2012 19:08:25 -0500] rev 17225
merge default into stable for 2.3 code freeze
Wed, 18 Jul 2012 19:08:11 -0500 merge with crew
Matt Mackall <mpm@selenic.com> [Wed, 18 Jul 2012 19:08:11 -0500] rev 17224
merge with crew
Thu, 19 Jul 2012 00:54:33 +0200 merge with stable
Martin Geisler <martin@geisler.net> [Thu, 19 Jul 2012 00:54:33 +0200] rev 17223
merge with stable
Thu, 19 Jul 2012 00:53:27 +0200 windows: removed duplicate termwidth definition stable
Martin Geisler <martin@geisler.net> [Thu, 19 Jul 2012 00:53:27 +0200] rev 17222
windows: removed duplicate termwidth definition Changeset dbf91976f900 caused this when the "from win32 import *" line was replaced with explicit import statements: the wildcard import was at the bottom of the file and so windows.termwidth was overwritten by win32.termwidth as indented, but the new explicit import statements were at the top and so win32.termwidth got lost. With the switch to ctypes, win32 can always be imported and so the fallback termwidth in windows is no longer needed.
Fri, 13 Jul 2012 13:21:20 +0200 httprepo: ensure Content-Type header exists when pushing data
Pierre-Yves.David@ens-lyon.org [Fri, 13 Jul 2012 13:21:20 +0200] rev 17221
httprepo: ensure Content-Type header exists when pushing data Otherwise the wireprotocol just hangs while trying to send data. (And nothing is received at the other side)
Fri, 13 Jul 2012 22:15:11 +0200 obsolete: obsstore.add now takes a list of markers.
Pierre-Yves.David@ens-lyon.org [Fri, 13 Jul 2012 22:15:11 +0200] rev 17220
obsolete: obsstore.add now takes a list of markers. This allow efficient IO and it greatly simplify the merging of markers.
Thu, 12 Jul 2012 19:58:07 +0200 obsolete: refactor writemarkers to only encode them
Pierre-Yves.David@ens-lyon.org [Thu, 12 Jul 2012 19:58:07 +0200] rev 17219
obsolete: refactor writemarkers to only encode them The function is now able to write the version header as necessary. The function now yield bytes to be written to a stream. This should ease later use of this function for wireprotocol based exchanged. Prepare the public use of the writemarker by wireprotocol function.
Sat, 14 Jul 2012 18:29:46 +0200 update: put rules for uncommitted changes into verbose help section
Adrian Buehlmann <adrian@cadifra.com> [Sat, 14 Jul 2012 18:29:46 +0200] rev 17218
update: put rules for uncommitted changes into verbose help section
Fri, 06 Jul 2012 18:41:25 +0200 hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch> [Fri, 06 Jul 2012 18:41:25 +0200] rev 17217
hooks: print out more information when loading a python hook fails When loading a python hook with file syntax fails, there is no information that this happened while loading a hook. When the python file does not exist even the file name is not printed. (Only that a file is missing.) This patch adds this information and a test for loading a non existing file and a directory not being a python module.
Wed, 18 Jul 2012 07:51:20 -0700 perf: fix perfcca to work with new casecollisionauditor interface
Joshua Redstone <joshua.redstone@fb.com> [Wed, 18 Jul 2012 07:51:20 -0700] rev 17216
perf: fix perfcca to work with new casecollisionauditor interface A recent changeset, afd75476939e, modified the caescollisionauditor interface but did not update perf.py. This changeset remidies that.
Tue, 17 Jul 2012 18:21:49 +0200 checkheads: extract branchmap preprocessing
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 17 Jul 2012 18:21:49 +0200] rev 17215
checkheads: extract branchmap preprocessing The checkheads function is far too complicated. This extract help to explicite what part of the preprocessing are reused by the actual check. This the first step toward a wider refactoring.
Tue, 17 Jul 2012 17:59:29 +0200 checkheads: take future obsoleted heads into account
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 17 Jul 2012 17:59:29 +0200] rev 17214
checkheads: take future obsoleted heads into account If we push some successors they will likely create a new head on remote. However as the obsoleted head will disappear after the push we are not really increasing the number of heads. There is several case which will lead to extra being actually pushed. But this first changeset aims to be simple. See the inline comment for details. Without this change, you need to push --force every time you want to push a newer version which is very error prone. The remote side still display +n heads on unbundle because it does not have the obsolete marker at unbundle time.
Tue, 17 Jul 2012 17:31:29 +0200 obsolete: add an any successors function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 17 Jul 2012 17:31:29 +0200] rev 17213
obsolete: add an any successors function This function yield every nodes which succeed to a group of nodes. The first user will be checkheads who need to know if we push successors for remote extra heads.
Tue, 17 Jul 2012 18:14:16 +0200 checkheads: extract bookmark computation from the branch loop
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 17 Jul 2012 18:14:16 +0200] rev 17212
checkheads: extract bookmark computation from the branch loop No branch specific data are used in the computation of the bookmarked heads. We can only compute it once.
Tue, 17 Jul 2012 16:30:42 +0200 checkheads: simplify the structure build by preprocessing
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 17 Jul 2012 16:30:42 +0200] rev 17211
checkheads: simplify the structure build by preprocessing All useful data are now gathered in a single dictionnary. `branchmapsummary` is renamed to `headssummary` and its return value is greatly simplified.
Tue, 17 Jul 2012 16:16:17 +0200 _updatebranchcache: prevent deleting dict key during iteration
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 17 Jul 2012 16:16:17 +0200] rev 17210
_updatebranchcache: prevent deleting dict key during iteration We use dict.keys() to fetch all keys before starting to delete some. Otherwise python complains that the dictionnary is altered during iteration.
Tue, 17 Jul 2012 18:21:49 +0200 checkheads: extract branchmap preprocessing
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 17 Jul 2012 18:21:49 +0200] rev 17209
checkheads: extract branchmap preprocessing The checkheads function is far too complicated. This extract help to explicite what part of the preprocessing are reused by the actual check. This the first step toward a wider refactoring.
Mon, 16 Jul 2012 17:56:50 +0200 obsolete: mark unreachable extinct changesets as hidden
Pierre-Yves.David@ens-lyon.org [Mon, 16 Jul 2012 17:56:50 +0200] rev 17208
obsolete: mark unreachable extinct changesets as hidden The repo.hiddenrevs set is updated with all extinct() changesets which aren't descendants of either: - the current working copy, - a bookmark, - a tag.
Mon, 16 Jul 2012 17:44:46 +0200 hidden: move hiddenrevs set on the repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 16 Jul 2012 17:44:46 +0200] rev 17207
hidden: move hiddenrevs set on the repository This set is always accessed through the repo for now. Having this set carried by the changelog make it complicated to: - initialize it, computing hidden set may involve revset call - lazy compute it, (1) only the changelog can detect someone access it, (2) only the repo have enought knowledge to compute it. In later version I expect he changelog to apply filtering itself and the set to be carried by changelog again.
Fri, 13 Jul 2012 14:38:49 +0200 obsolete: do not exchange extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 13 Jul 2012 14:38:49 +0200] rev 17206
obsolete: do not exchange extinct changesets Extinct changesets are excluded from all exchange operations. This is a silent exclusion because the user should not need to be aware of them. There is no reason to strongly enforce this exclusion except implementation simplicity. User should be able to explicitly request an extinct changeset in the future.
Tue, 17 Jul 2012 01:22:31 +0200 repo: move visibleheads and visiblebranchmap logic in discovery
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jul 2012 01:22:31 +0200] rev 17205
repo: move visibleheads and visiblebranchmap logic in discovery They were previously inside the mercurial.phases module, but obsolete logic will need them to exclude `extinct` changesets from pull and push. The proper and planned way to implement such filtering is still to apply a changelog level filtering. But we are far to late in the cycle to implement and push such a critical piece of code (changelog filtering). With Matt Mackall approval I'm extending this quick and dirty mechanism for obsolete purpose. Changelog level filtering should come during the next release cycle.
Tue, 17 Jul 2012 01:04:45 +0200 localpeer: return only visible heads and branchmap
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 17 Jul 2012 01:04:45 +0200] rev 17204
localpeer: return only visible heads and branchmap Now that we have localpeer, we can apply filtering on heads and branchmap the same way it's done for wireprotocol peer.
Wed, 18 Jul 2012 14:41:58 +0200 util, posix: eliminate encodinglower and encodingupper
Adrian Buehlmann <adrian@cadifra.com> [Wed, 18 Jul 2012 14:41:58 +0200] rev 17203
util, posix: eliminate encodinglower and encodingupper 2ebe3d0ce91d claims this was needed "to avoid cyclic dependency", but there is no cyclic dependency. windows.py already imports encoding, posix.py can import it too, so we can simply use encoding.upper in windows.py and in posix.py. (this is a partial backout of 2ebe3d0ce91d)
Sun, 08 Jul 2012 17:17:02 +0200 hgweb: side-by-side comparison functionality
wujek srujek [Sun, 08 Jul 2012 17:17:02 +0200] rev 17202
hgweb: side-by-side comparison functionality Adds new web command to the core, ``comparison``, which enables colorful side-by-side change display, which for some might be much easier to work with than the standard line diff output. The idea how to implement comes from the SonicHq extension. The web interface gets a new link to call the comparison functionality. It lets users configure the amount of context lines around change blocks, or to show full files - check help (also in this changeset) for details and defaults. The setting in hgrc can be overridden by adding ``context=<value>`` to the request query string. The comparison creates addressable lines, so as to enable sharing links to specific lines, just as standard diff does. Incorporates updates to all web related styles. Known limitations: * the column diff is done against the first parent, just as the standard diff * this change allows examining diffs for single files only (as I am not sure if examining the whole changeset in this way would be helpful) * syntax highlighting of the output changes is not performed (enabling the highlight extension has no influence on it)
Fri, 06 Jul 2012 13:56:40 -0700 scmutil: 25% speedup in casecollisionauditor
Joshua Redstone <joshua.redstone@fb.com> [Fri, 06 Jul 2012 13:56:40 -0700] rev 17201
scmutil: 25% speedup in casecollisionauditor On a large repository, switching casecollisionauditor to lowercasing all file names at once rather than one at a time improves hg-add time by 25%.
Tue, 17 Jul 2012 00:55:22 +0200 obsolete: os.SEEK_END first appeared in Python 2.5
Adrian Buehlmann <adrian@cadifra.com> [Tue, 17 Jul 2012 00:55:22 +0200] rev 17200
obsolete: os.SEEK_END first appeared in Python 2.5 fixes 48c232873a54 failing for Python 2.4
Sun, 15 Jul 2012 12:43:10 -0400 tests: convert a push test to use revsets
Matt Harbison <matt_harbison@yahoo.com> [Sun, 15 Jul 2012 12:43:10 -0400] rev 17199
tests: convert a push test to use revsets
Sun, 15 Jul 2012 12:43:10 -0400 outgoing: accept revset argument for --rev
Matt Harbison <matt_harbison@yahoo.com> [Sun, 15 Jul 2012 12:43:10 -0400] rev 17198
outgoing: accept revset argument for --rev There may be a more generic way that would add revset support to more commands by adding revset support to addbranchrevs(), but given the proximity of the next code freeze, a minimal change seems like the better choice.
Mon, 16 Jul 2012 16:19:53 -0500 dirstate: drop assert
Matt Mackall <mpm@selenic.com> [Mon, 16 Jul 2012 16:19:53 -0500] rev 17197
dirstate: drop assert
Wed, 04 Jul 2012 01:31:37 +0200 dirstate: eliminate redundant check parameter on _addpath()
Adrian Buehlmann <adrian@cadifra.com> [Wed, 04 Jul 2012 01:31:37 +0200] rev 17196
dirstate: eliminate redundant check parameter on _addpath() state == 'a' implies check I fail to see what the point of this check parameter is. Near as I can see, the only _addpath call where it was set to True was in add(), but there, state is 'a'. This is a follow-up to c2016bae3b97.
Mon, 16 Jul 2012 22:37:44 +0200 obsolete: add seek to end of file before calling tell (issue3543)
Adrian Buehlmann <adrian@cadifra.com> [Mon, 16 Jul 2012 22:37:44 +0200] rev 17195
obsolete: add seek to end of file before calling tell (issue3543)
Fri, 13 Jul 2012 21:52:37 +0200 peer: remove cancopy from peer api; use directly on repo instead
Sune Foldager <cryo@cyanite.org> [Fri, 13 Jul 2012 21:52:37 +0200] rev 17194
peer: remove cancopy from peer api; use directly on repo instead
Fri, 13 Jul 2012 21:52:28 +0200 peer: introduce canpush and improve error message
Sune Foldager <cryo@cyanite.org> [Fri, 13 Jul 2012 21:52:28 +0200] rev 17193
peer: introduce canpush and improve error message
Fri, 13 Jul 2012 21:47:06 +0200 peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Fri, 13 Jul 2012 21:47:06 +0200] rev 17192
peer: introduce real peer classes This change separates peer implementations from the repository implementation. localpeer currently is a simple pass-through to localrepository, except for legacy calls, which have already been removed from localpeer. This ensures that the local client code only uses the most modern peer API when talking to local repos. Peers have a .local() method which returns either None or the underlying localrepository (or descendant thereof). Repos have a .peer() method to return a freshly constructed localpeer. The latter is used by hg.peer(), and also to allow folks to pass either a peer or a repo to some generic helper methods. We might want to get rid of .peer() eventually. The only user of locallegacypeer is debugdiscovery, which uses it to pose as a pre-setdiscovery client. But we decided to leave the old API defined in locallegacypeer for clarity and maybe for other uses in the future. It might be nice to actually define the peer API directly in peer.py as stub methods. One problem there is, however, that localpeer implements lock/addchangegroup, whereas the true remote peers implement unbundle. It might be desireable to get rid of this distinction eventually.
Fri, 13 Jul 2012 21:46:53 +0200 peer: introduce peer methods to prepare for peer classes
Sune Foldager <cryo@cyanite.org> [Fri, 13 Jul 2012 21:46:53 +0200] rev 17191
peer: introduce peer methods to prepare for peer classes This introduces a peer method into all repository classes, which currently simply returns self. It also changes hg.repository so it now raises an exception if the supplied paths does not resolve to a localrepo or descendant. Finally, all call sites are changed to use the peer and local methods as appropriate, where peer is used whenever the code is dealing with a remote repository (even if it's on local disk).
Fri, 06 Jul 2012 14:12:42 -0500 bookmarks: document behavior of -B/--bookmark in help
Augie Fackler <raf@durin42.com> [Fri, 06 Jul 2012 14:12:42 -0500] rev 17190
bookmarks: document behavior of -B/--bookmark in help
Fri, 06 Jul 2012 14:11:58 -0500 test-bookmarks-pushpull.t: verify correct push -B behavior
Augie Fackler <raf@durin42.com> [Fri, 06 Jul 2012 14:11:58 -0500] rev 17189
test-bookmarks-pushpull.t: verify correct push -B behavior I wasn't able to find a test that proved this behavior worked, so I felt obligated to write a quick test so it won't regress in the future.
Wed, 11 Jul 2012 11:52:42 +0200 debugrevlog: handle numrevs == numfull case (issue3537)
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Jul 2012 11:52:42 +0200] rev 17188
debugrevlog: handle numrevs == numfull case (issue3537) Instead of tracing back with a ZeroDivisionError.
Tue, 10 Jul 2012 09:11:53 -0700 templatekw/help: document the {parents} keyword
epriestley <hg@yghe.net> [Tue, 10 Jul 2012 09:11:53 -0700] rev 17187
templatekw/help: document the {parents} keyword The {parents} keyword does not appear in the generated documentation for templates because it is added by `changeset_templater` (and this is because its behavior depends on `ui`, so it can't be defined as a normal template keyword; see comments in `changeset_templater._show()`). Add it to the documentation synthetically by creating a stub documentation function. Test plan: built the docs and examined the man page to verify that this keyword is now documented. I'm not sure how to test the i18n extraction part, but assume it will just work given that this patch doesn't do anything too crazy.
Sat, 07 Jul 2012 00:47:55 -0400 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com> [Sat, 07 Jul 2012 00:47:55 -0400] rev 17186
revset: add destination() predicate This predicate is used to find csets that were created because of a graft, transplant or rebase --keep. An optional revset can be supplied, in which case the result will be limited to those copies which specified one of the revs as the source for the command. hg log -r destination() # csets copied from anywhere hg log -r destination(branch(default)) # all csets copied from default hg log -r origin(x) or destination(origin(x)) # all instances of x This predicate will follow a cset through different types of copies. Given a repo with a cset 'S' that is grafted to create G(S), which itself is transplanted to become T(G(S)): o-S / o-o-G(S) \ o-T(G(S)) hg log -r destination( S ) # { G(S), T(G(S)) } hg log -r destination( G(S) ) # { T(G(S)) } The implementation differences between the three different copy commands (see the origin() predicate) are not intentionally exposed, however if the transplant was a graft instead: hg log -r destination( G(S) ) # {} because the 'extra' field in G(G(S)) is S, not G(S). The implementation cannot correct this by following sources before G(S) and then select the csets that reference those sources because the cset provided to the predicate would also end up selected. If there were more than two copies, sources of the argument would also get selected. Note that the convert extension does not currently update the 'extra' map in its destination csets, and therefore copies made prior to the convert will be missing from the resulting set. Instead of the loop over 'subset', the following almost works, but does not select a transplant of a transplant. That is, 'destination(S)' will only select T(S). dests = set([r for r in subset if _getrevsource(repo, r) in args])
Sat, 07 Jul 2012 00:47:30 -0400 revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com> [Sat, 07 Jul 2012 00:47:30 -0400] rev 17185
revset: add origin() predicate This predicate is used to find the original source of csets created by a graft, transplant or rebase --keep. If a copied cset is itself copied, only the source of the original copy is selected. hg log -r origin() # all src csets, anywhere hg log -r origin(branch(default)) # all srcs of copies on default By following through different types of copy commands and only selecting the original cset, the implementation differences between the copy commands are hidden. (A graft of a graft preserves the original source in its 'extra' map, while transplant and rebase use the immediate source specified for the command). Given a repo with a cset S that is grafted to create G(S), which itself is grafted to become G(G(S)) o-S / o-o-G(S) \ o-G(G(S)) hg log -r origin( G(S) ) # { S } hg log -r origin( G(G(S)) ) # { S }, NOT { G(S) } Even if the last graft were a transplant hg log -r origin( T(G(S)) ) # { S } A rebase without --keep essentially strips the source, so providing the cset that results to this predicate will yield an empty set. Note that the convert extension does not currently update the 'extra' map in its destination csets, and therefore copies made prior to the convert will be unable to find their source.
Mon, 16 Jul 2012 15:50:19 +0200 convert: remove unused newnames variable in filemap
Patrick Mezard <patrick@mezard.eu> [Mon, 16 Jul 2012 15:50:19 +0200] rev 17184
convert: remove unused newnames variable in filemap
Thu, 12 Jul 2012 03:03:19 +0200 push: fix bug in detection of remote obsolete support
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 12 Jul 2012 03:03:19 +0200] rev 17183
push: fix bug in detection of remote obsolete support Current code check obsolete availability in local repo.
Wed, 11 Jul 2012 18:22:07 +0200 incoming/outgoing: handle --graph in core
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Jul 2012 18:22:07 +0200] rev 17182
incoming/outgoing: handle --graph in core
Sat, 14 Jul 2012 19:09:22 +0200 log: support --graph without graphlog extension
Patrick Mezard <patrick@mezard.eu> [Sat, 14 Jul 2012 19:09:22 +0200] rev 17181
log: support --graph without graphlog extension The glog command is preserved in the extension for backward compatibility.
Sat, 14 Jul 2012 18:55:21 +0200 graphlog: extract revset/support functions into cmdutil
Patrick Mezard <patrick@mezard.eu> [Sat, 14 Jul 2012 18:55:21 +0200] rev 17180
graphlog: extract revset/support functions into cmdutil
Wed, 11 Jul 2012 17:13:39 +0200 graphlog: extract ascii drawing code into graphmod
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Jul 2012 17:13:39 +0200] rev 17179
graphlog: extract ascii drawing code into graphmod
Sun, 24 Jun 2012 18:11:52 +0200 patchbomb: rewrite getoutgoing() with revsets
Patrick Mezard <patrick@mezard.eu> [Sun, 24 Jun 2012 18:11:52 +0200] rev 17178
patchbomb: rewrite getoutgoing() with revsets Another version could have returned a revset expression from getoutgoing(), but we do not know how many times it will be resolved, so better do it once explicitely.
Sun, 24 Jun 2012 17:39:27 +0200 patchbomb: support --outgoing and revsets
Patrick Mezard <patrick@mezard.eu> [Sun, 24 Jun 2012 17:39:27 +0200] rev 17177
patchbomb: support --outgoing and revsets With --outgoing, input revisions were passed to getoutgoing() before being resolved.
Sat, 14 Jul 2012 19:21:31 +0200 patchbomb: make --outgoing ignore secret changesets
Patrick Mezard <patrick@mezard.eu> [Sat, 14 Jul 2012 19:21:31 +0200] rev 17176
patchbomb: make --outgoing ignore secret changesets getoutgoing() is just rewritten almost like revset.outgoing(), a follow-up will make it use revsets after the tests are adjusted.
Sun, 15 Jul 2012 14:48:50 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 15 Jul 2012 14:48:50 -0500] rev 17175
merge with stable
Fri, 06 Jul 2012 01:14:02 -0300 convert: make filemap renames consistently override revision renames stable
Wagner Bruna <wbruna@yahoo.com> [Fri, 06 Jul 2012 01:14:02 -0300] rev 17174
convert: make filemap renames consistently override revision renames When the source repository had a revision renaming "$new -> $old", but the filemap a "$old -> $new" rename, the converted revision could use either $new (deleting the file) or $old (keeping the file) when getting the file data, depending on the lexicographical order of those names. So the resulting revision would leave some files untouched (as expected), but delete others arbitrarely.
Fri, 06 Jul 2012 19:34:09 +0200 obsolete: compute extinct changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 Jul 2012 19:34:09 +0200] rev 17173
obsolete: compute extinct changesets `extinct` changesets are obsolete changesets with obsolete descendants only. They are of no interest anymore and can be: - exclude from exchange - hidden to the user in most situation - safely garbage collected This changeset just allows mercurial to detect them. The implementation is a bit naive, as for unstable changesets. We better use a simple revset query and a cache, but simple version comes first.
Tue, 10 Jul 2012 01:39:03 +0200 push: refuse to push unstable changesets without force
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 10 Jul 2012 01:39:03 +0200] rev 17172
push: refuse to push unstable changesets without force User should resolve unstability locally before pushing the same way we encourage user to merge locally instead of pushing a new remote head. If we are to push obsolete changeset, at least one set of the pushed set will be either obsolete or unstable. The check is narrowed to only heads.
Fri, 06 Jul 2012 00:18:09 +0200 obsolete: compute unstable changeset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 06 Jul 2012 00:18:09 +0200] rev 17171
obsolete: compute unstable changeset An unstable changeset is a changeset *not* obsolete but with some obsolete ancestors. The current logic to decide if a changeset is unstable is naive and very inefficient. A better solution is to compute the set of unstable changeset with a simple revset and to cache the result. But this require cache invalidation logic. Simpler version goes first.
Fri, 06 Jul 2012 19:29:10 +0200 revset: add an `obsolete` symbol
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 06 Jul 2012 19:29:10 +0200] rev 17170
revset: add an `obsolete` symbol This predicate matches obsolete changesets. This is a naive implementation to be improved later.
Tue, 10 Jul 2012 01:32:18 +0200 push: refuse to push obsolete changesets
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 10 Jul 2012 01:32:18 +0200] rev 17169
push: refuse to push obsolete changesets This is a first version. Simple but not very efficient. Note that this changeset introduce the "obsolete" word in the UI.
Thu, 05 Jul 2012 19:53:04 +0200 push: accept revset argument for --rev
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 05 Jul 2012 19:53:04 +0200] rev 17168
push: accept revset argument for --rev
Fri, 06 Jul 2012 19:48:19 +0200 check-code: recognise %= as an operator
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 06 Jul 2012 19:48:19 +0200] rev 17167
check-code: recognise %= as an operator
Wed, 04 Jul 2012 08:55:16 +0200 tests: do exclude what is expected
Simon Heimberg <simohe@besonet.ch> [Wed, 04 Jul 2012 08:55:16 +0200] rev 17166
tests: do exclude what is expected
Fri, 06 Jul 2012 00:48:45 +0200 parsers.c: remove warning: 'size' may be used uninitialized in this function
Mads Kiilerich <mads@kiilerich.com> [Fri, 06 Jul 2012 00:48:45 +0200] rev 17165
parsers.c: remove warning: 'size' may be used uninitialized in this function Some compilers / compiler options (such as gcc 4.7) would emit warnings: mercurial/parsers.c: In function 'pack_dirstate': mercurial/parsers.c:306:18: warning: 'size' may be used uninitialized in this function [-Wmaybe-uninitialized] mercurial/parsers.c:306:12: warning: 'mode' may be used uninitialized in this function [-Wmaybe-uninitialized] It is apparently not smart enough to figure out how the 'err' arithmetics makes sure that it can't happen. 'err' is now replaced with simple checks and goto. That might also help the optimizer when it is inlining getintat().
(0) -10000 -3000 -1000 -192 +192 +1000 +3000 +10000 +30000 tip