Wed, 02 Aug 2017 22:06:45 +0900 test-extension: glob module name in error message for PyPy stable
Yuya Nishihara <yuya@tcha.org> [Wed, 02 Aug 2017 22:06:45 +0900] rev 33623
test-extension: glob module name in error message for PyPy
Wed, 02 Aug 2017 21:52:22 +0900 rebase: sort collapsed revisions in commit message (issue5643) stable
Yuya Nishihara <yuya@tcha.org> [Wed, 02 Aug 2017 21:52:22 +0900] rev 33622
rebase: sort collapsed revisions in commit message (issue5643) This fixes the test instability.
Wed, 02 Aug 2017 00:02:11 +0900 i18n: use actual filename, in which function is defined, for hg.pot stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 02 Aug 2017 00:02:11 +0900] rev 33621
i18n: use actual filename, in which function is defined, for hg.pot Before this patch, source filename for msgid in hg.pot file becomes incorrect, if a function is defined in file A, but detected in dict in file B, For example, almost all debug* commands are defined in debugcommands.py, but hggettext detects them in "table" of commands.py. Therefore, docstring fragments of debug* commands are marked as "defined in commands.py" in hg.pot file. This is serious problem for translation, because the cost to find out original location of texts increases very much.
Tue, 01 Aug 2017 18:52:52 +0900 ui: enable pager always for explicit --pager=on (issue5580) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Aug 2017 18:52:52 +0900] rev 33620
ui: enable pager always for explicit --pager=on (issue5580) Before this patch, explicit --pager=on is unintentionally ignored by any disabling factor, even if priority of it is less than --pager=on (e.g. "[ui] paginate = off").
Thu, 20 Jul 2017 01:30:41 -0700 rebase: use one dirstateguard for when using rebase.singletransaction
Durham Goode <durham@fb.com> [Thu, 20 Jul 2017 01:30:41 -0700] rev 33619
rebase: use one dirstateguard for when using rebase.singletransaction This was previously landed as 2519994d25ca but backed out in b63351f6a2 because it broke hooks mid-rebase and caused conflict resolution data loss in the event of unexpected exceptions. This new version adds the behavior back but behind a config flag, since the performance improvement is notable in large repositories. The old commit message was: Recently we switched rebases to run the entire rebase inside a single transaction, which dramatically improved the speed of rebases in repos with large working copies. Let's also move the dirstate into a single dirstateguard to get the same benefits. This let's us avoid serializing the dirstate after each commit. In a large repo, rebasing 27 commits is sped up by about 20%. I believe the test changes are because us touching the dirstate gave the transaction something to actually rollback. (grafted from 9e3dc3a1638b9754b58a0cb26aaa75d868058109) (grafted from 7d38b41d2266d9a02a15c64229fae0da5738dcec) Differential Revision: https://phab.mercurial-scm.org/D135
Mon, 31 Jul 2017 21:47:53 +0900 README: make paragraphs before example code end with "::" for reST syntax stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 31 Jul 2017 21:47:53 +0900] rev 33618
README: make paragraphs before example code end with "::" for reST syntax After this patch, README as reST text can be rendered into HTML more appropriately. This is useful for hosting servers, which render README file as a part of index HTML of its directory (for example, Bitbucket).
Mon, 31 Jul 2017 14:54:57 -0700 commit: don't let failed commit with --addremove update dirstate (issue5645) stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 31 Jul 2017 14:54:57 -0700] rev 33617
commit: don't let failed commit with --addremove update dirstate (issue5645) Differential Revision: https://phab.mercurial-scm.org/D204
Mon, 31 Jul 2017 14:54:08 -0700 tests: demonstrate that failed "hg ci -A" updates dirstate (issue5645) stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 31 Jul 2017 14:54:08 -0700] rev 33616
tests: demonstrate that failed "hg ci -A" updates dirstate (issue5645) Differential Revision: https://phab.mercurial-scm.org/D203
Mon, 31 Jul 2017 16:32:01 -0700 tests: fix test-flagprocessor.t flakiness stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 31 Jul 2017 16:32:01 -0700] rev 33615
tests: fix test-flagprocessor.t flakiness The test for duplicate flag processors depended on the timestamps being set in the dirstate to work. If the time between the the previous failed commit (which would set the timestamp, due to bug 5645) and the attempted commit with the duplicate flag processors was small enough, it would fail. The failure was caused by a call to commands.status() early in the commit process. If the dirstate did not have the timestamp set, it would need to fetch the file content to compare with. Since two flag processors had been registered, it would attempted to base64 decode the contents twice, which would of course fail. This patch adds a "hg debugrebuilddirstate" to make it deterministic and also replaces the test case's "hg commit" by simply "hg status", since that will trigger reading of the contents and thereby use of the flag processors as noted above. Differential Revision: https://phab.mercurial-scm.org/D202
Mon, 31 Jul 2017 16:40:31 -0700 tests: clarify that duplicate flag processors is not an error stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 31 Jul 2017 16:40:31 -0700] rev 33614
tests: clarify that duplicate flag processors is not an error The flag processors test for duplicate processors for a single flag was misleading because the file from the previous test case caused it to fail (making the "echo 'this should fail' > file" part irrelevant). Let's remove the leftover from the previous test case to make it clear that duplicate flag processors results only in a warning. Note that duplicate flag processors would have resulted in a failure (not just a warning) until ea1c2eb7abd3 (extensions: catch uisetup and extsetup failures and don't let them break hg, 2017-06-06). I remember expressing my concern about ending up with half-loaded extensions. It would be pretty unfortunate to have double-encoded revlog content enter a repo, so maybe we should reconsider? Differential Revision: https://phab.mercurial-scm.org/D201
Tue, 01 Aug 2017 01:27:32 +0900 tests: avoid unexpected result at invocation of *.py file on Windows stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Aug 2017 01:27:32 +0900] rev 33613
tests: avoid unexpected result at invocation of *.py file on Windows Invocation of "diff tool.py" in test-extdiff.t tests whether shellquote() is applied on specified command as expected. But direct invocation of "*.py" file might cause unexpected result on Windows according to suffix binding. For example, starting IDE, showing dialog to choose program to be used, and so on. In such case, running test-extdiff.t is easily timed out. This patch uses intermediate *.bat file on Windows, to avoid such unexpected result. Naming that intermediate file as "diff tool.bat" is enough to test applying shellquote().
Mon, 31 Jul 2017 13:16:34 +0900 tests: use pdiff instead of diff for portability stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 31 Jul 2017 13:16:34 +0900] rev 33612
tests: use pdiff instead of diff for portability "diff" command might cause redundant message, "No differences encountered" on Solaris for example. But suppressing option like "-q" isn't portable, because POSIX specification doesn't define it. pdiff script was introduced by b59ef0c21405 to stabilize output of standard diff command on each platforms.
Mon, 31 Jul 2017 13:10:19 +0900 tests: make pdiff return appropriate exit code at comparison of files stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 31 Jul 2017 13:10:19 +0900] rev 33611
tests: make pdiff return appropriate exit code at comparison of files Before this patch, pdiff script returns 0, even if diff is detected. This issue doesn't cause failure of tests using it, if it is invoked via extdiff extension, because extdiff itself examines changes between specified revisions and decides exit code. BTW, this patch ignores recursive comparison case, because: - there is no portable way for current while-read based implementation to return 1 at detecting changes - it isn't yet needed to replace direct "diff -r" invocation by pdiff for portability
Tue, 01 Aug 2017 10:14:25 -0400 merge with stable
Augie Fackler <augie@google.com> [Tue, 01 Aug 2017 10:14:25 -0400] rev 33610
merge with stable
Mon, 31 Jul 2017 12:43:26 -0700 tests: make test-profile.t pass if statprof didn't collect samples stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 31 Jul 2017 12:43:26 -0700] rev 33609
tests: make test-profile.t pass if statprof didn't collect samples We had the first 3 tests in test-profile.t fail because the output didn't match. I have not yet confirmed that this was because no samples were collected, but we shouldn't require samples to be collected for the test to pass either way. Differential Revision: https://phab.mercurial-scm.org/D199
Thu, 27 Jul 2017 10:52:56 +0200 pypy: fix failing test-devel-warnings.t with Pypy5.6.0 stable
Boris Feld <boris.feld@octobus.net> [Thu, 27 Jul 2017 10:52:56 +0200] rev 33608
pypy: fix failing test-devel-warnings.t with Pypy5.6.0 In Pypy 5.6.0, traceback exception classes are not displayed with their full qualified name. Instead of displaying mercurial.error.ProgrammingError, Pypy displays ProgrammingError. Update the test to support both version.
Mon, 31 Jul 2017 17:43:45 +0200 pypy: fix failing test files with Pypy5.6.0 stable
Boris Feld <boris.feld@octobus.net> [Mon, 31 Jul 2017 17:43:45 +0200] rev 33607
pypy: fix failing test files with Pypy5.6.0 Pypy 5.6.0 saves cached bytecode files in __pycache__ directory, clean them in tests to fix loading old test extensions code. Doing so should also helps for Python3.x migration.
Sun, 30 Jul 2017 12:19:46 +0530 commitextras: make sure keys are not empty stable
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 30 Jul 2017 12:19:46 +0530] rev 33606
commitextras: make sure keys are not empty Thanks to Yuya for catching this.
Sat, 29 Jul 2017 19:12:48 -0700 make: add new directory 'hgdemandimport' to cleanbutpackages rule stable
Sean Farley <sean@farley.io> [Sat, 29 Jul 2017 19:12:48 -0700] rev 33605
make: add new directory 'hgdemandimport' to cleanbutpackages rule This fixes the build process for ppa (at least in my simple check). Perhaps we should loop through all directory that aren't 'packages'?
Sat, 29 Jul 2017 12:50:56 -0700 statichttprepo: implement wlock() (issue5613) stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 29 Jul 2017 12:50:56 -0700] rev 33604
statichttprepo: implement wlock() (issue5613) statichttprepo inherits from localrepository. In doing so, it obtains default implementations of various methods, like wlock(). Before this change, tags cache writing would call repo.wlock(). This failed on statichttprepo due to localrepository's wlock() looking for an instance attribute that doesn't exist on statichttprepo (statichttprepo doesn't call localrepository.__init__). We /could/ define missing attributes until the base wlock() works. However, a statichttprepo is remote and read-only and can't be locked. The class already has a lock() that short circuits. So it makes sense to implement a short-circuited wlock() as well. That is what this patch does. LockError is expected to be raised when locking fails. The constructor takes a number of arguments that are local repository centric. Rather than rework LockError to not require them (which would not be appropriate for stable), this commit populates dummy values. I don't believe they'll ever be seen by the user, as lock failures on static http repos should be limited to well-defined (and tested) scenarios. We can and should revisit the LockError type to improve this.
Sat, 29 Jul 2017 12:40:05 -0700 test: add tests for branches and tags with static http repo (issue5613) stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 29 Jul 2017 12:40:05 -0700] rev 33603
test: add tests for branches and tags with static http repo (issue5613) Mercurial currently fails to clone by revision on static http repos with tags. The added tests demonstrate this.
Fri, 28 Jul 2017 07:42:55 +0530 commitextras: make sure keys contains ascii letters, numbers, '_' and '-' only stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 28 Jul 2017 07:42:55 +0530] rev 33602
commitextras: make sure keys contains ascii letters, numbers, '_' and '-' only
Thu, 27 Jul 2017 12:03:01 -0700 phabricator: convert unicode to binary when writing patches stable
Jun Wu <quark@fb.com> [Thu, 27 Jul 2017 12:03:01 -0700] rev 33601
phabricator: convert unicode to binary when writing patches This is a quick fix to make `hg phabread D189` work. It seems we might want to replace all `r''` to `u''`, and add more `encoding.*to*` to be more explicit when interacting with `json` module. Differential Revision: https://phab.mercurial-scm.org/D192
Thu, 27 Jul 2017 23:15:14 +0900 setup: silence warning of unknown option python_requires on distutils stable
Yuya Nishihara <yuya@tcha.org> [Thu, 27 Jul 2017 23:15:14 +0900] rev 33600
setup: silence warning of unknown option python_requires on distutils /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'python_requires'
Thu, 20 Jul 2017 22:47:40 +0900 setup: forcibly include cext/pure packages in py2exe (issue5625) stable
Yuya Nishihara <yuya@tcha.org> [Thu, 20 Jul 2017 22:47:40 +0900] rev 33599
setup: forcibly include cext/pure packages in py2exe (issue5625) Since these modules are implicitly imported by policy.importmod(), py2exe can't track them statically. cffi modules are excluded for now because they wouldn't be useful in frozen (i.e. CPython) environment.
Thu, 20 Jul 2017 22:32:37 +0900 setup: do not select hg executable that prints unexpected warnings stable
Yuya Nishihara <yuya@tcha.org> [Thu, 20 Jul 2017 22:32:37 +0900] rev 33598
setup: do not select hg executable that prints unexpected warnings Otherwise the subsequent hg.run() would fail. This factors out the filtering function so the same rule should apply.
Thu, 27 Jul 2017 13:44:15 +0200 docker: pass proxy arguments to docker process stable
Mathias De Maré <mathias.de_mare@nokia.com> [Thu, 27 Jul 2017 13:44:15 +0200] rev 33597
docker: pass proxy arguments to docker process Building in Docker when behind a proxy requires passing the proxy variables. Differential Revision: https://phab.mercurial-scm.org/D190
Thu, 27 Jul 2017 14:15:26 +0200 makefile: build on CentOS 6 with a Python 2.7 stable
Mathias De Maré <mathias.de_mare@nokia.com> [Thu, 27 Jul 2017 14:15:26 +0200] rev 33596
makefile: build on CentOS 6 with a Python 2.7 Differential Revision: https://phab.mercurial-scm.org/D189
Mon, 24 Jul 2017 20:39:26 -0400 osx: wire up genosxversion script stable
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 20:39:26 -0400] rev 33595
osx: wire up genosxversion script The only version strings that are changed are the ones baked into the .pkg - hg's self-reported version string doesn't change, so users will still see our mostly-pip-compatible version strings. For reference, the part of our versioning setup that's not PEP440 compatible is the RC releases - those should be .rc0 insted of -rc. It's too late to change that for the 4.3 cycle, so I'll worry about fixing that during the 4.4 cycle.
Mon, 24 Jul 2017 20:38:09 -0400 osx: new script for generating OS X package versions stable
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 20:38:09 -0400] rev 33594
osx: new script for generating OS X package versions If you're shipping prerelease or rc packages using Munki, you'll eventually discover that Munki's version comparison logic is not as good as pip's. In theory we should be able to fix Munki, but it seems entirely reasonable to produce version strings that sort reasonably under these conditions. Since the requried logic not brief, add a new script and some tests of that logic. A followup change will wire this into the Makefile.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip