Sat, 22 Oct 2011 15:43:48 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Sat, 22 Oct 2011 15:43:48 +0100] rev 992
Merge with stable
Fri, 30 Sep 2011 21:58:54 -0400 rollback: avoid unsafe rollback when not at tip (issue2998) stable
Greg Ward <greg@gerg.ca> [Fri, 30 Sep 2011 21:58:54 -0400] rev 991
rollback: avoid unsafe rollback when not at tip (issue2998) You can get into trouble if you commit, update back to an older changeset, and then rollback. The update removes your valuable changes from the working dir, then rollback removes them history. Oops: you've just irretrievably lost data running nothing but core Mercurial commands. (More subtly: rollback from a shared clone that was already at an older changeset -- no update required, just rollback from the wrong directory.) The fix assumes that only "commit" transactions have irreplaceable data, and allows rolling back non-commit transactions as always. But when rolling back a commit, check that the working dir is checked out to tip, i.e. the changeset we're about to destroy. If not, abort. You can get back the old (dangerous) behaviour with --force. [ original upstream message ]
Sun, 16 Oct 2011 15:32:04 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Sun, 16 Oct 2011 15:32:04 +0100] rev 990
Merge with stable
Thu, 13 Oct 2011 17:54:37 +0200 run-tests: end doctest block when seeing a non-command stable
Idan Kamara <idankk86@gmail.com> [Thu, 13 Oct 2011 17:54:37 +0200] rev 989
run-tests: end doctest block when seeing a non-command [ original upstream message ]
Thu, 13 Oct 2011 17:48:29 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Thu, 13 Oct 2011 17:48:29 +0100] rev 988
Merge with stable
Wed, 12 Oct 2011 22:01:14 +0200 tests: add support for inline doctests in test files stable
Idan Kamara <idankk86@gmail.com> [Wed, 12 Oct 2011 22:01:14 +0200] rev 987
tests: add support for inline doctests in test files This adds doctest like syntax to .t files, that can be interleaved with regular shell code: $ echo -n a > file >>> print open('file').read() a >>> open('file', 'a').write('b') $ cat file ab The syntax is exactly the same as regular doctests, so multiline statements look like this: >>> for i in range(3): ... print i 0 1 2 Each block has its own context, i.e.: >>> x = 0 >>> print x 0 $ echo 'foo' foo >>> print x will result in a NameError. Errors are displayed in standard doctest format: >>> print 'foo' bar --- /home/idan/dev/hg/default/tests/test-test.t +++ /home/idan/dev/hg/default/tests/test-test.t.err @@ -2,3 +2,16 @@ > >>> print 'foo' > bar > EOF + ********************************************************************** + File "/tmp/tmps8X_0ohg-tst", line 1, in tmps8X_0ohg-tst + Failed example: + print 'foo' + Expected: + bar + Got: + foo + ********************************************************************** + 1 items had failures: + 1 of 1 in tmps8X_0ohg-tst + ***Test Failed*** 1 failures. + [1] As for the implementation, it's quite simple: when the test runner sees a line starting with '>>>' it converts it, and all subsequent lines until the next line that begins with '$' to a 'python -m heredoctest <<EOF' call with the proper heredoc to follow. So if we have this test file: >>> for c in 'abcd': ... print c a b c d $ echo foo foo It gets converted to: $ python -m heredoctest <<EOF > >>> for c in 'abcd': > ... print c > a > b > c > d > EOF $ echo foo foo And then processed like every other test file by converting it to a sh script. [ original upstream message ]
Sat, 08 Oct 2011 00:24:35 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Sat, 08 Oct 2011 00:24:35 +0100] rev 986
Merge with stable
Sun, 02 Oct 2011 14:34:28 -0400 import: wrap a transaction around the whole command stable
Greg Ward <greg@gerg.ca> [Sun, 02 Oct 2011 14:34:28 -0400] rev 985
import: wrap a transaction around the whole command Now 'rollback' after 'import' is less surprising: it rolls back all of the imported changesets, not just the last one. As an extra added benefit, you don't need 'rollback -f' after 'import --bypass', which was an undesired side effect of fixing issue2998 (59e8bc22506e).. Note that this is a different take on issue963, which complained that rollback after importing multiple patches returned the working dir parent to the starting point, not to the second-last patch applied. Since we now rollback the entire import, returning the working dir to the starting point is entirely logical. So this change also undoes a732eebf1958, the fix to issue963, and updates its tests accordingly. Bottom line: rollback after import was weird before issue963, understandable since the fix for issue963, and even better now. [ original upstream message ]
Wed, 14 Sep 2011 16:19:33 +0100 (0.9.2compat) merge with default 0.9.2compat
Christian Ebert <blacktrash@gmx.net> [Wed, 14 Sep 2011 16:19:33 +0100] rev 984
(0.9.2compat) merge with default Adapt preserving filemode. Fix a typo. Clean up last merge.
Wed, 14 Sep 2011 15:34:32 +0100 Merge with default stable
Christian Ebert <blacktrash@gmx.net> [Wed, 14 Sep 2011 15:34:32 +0100] rev 983
Merge with default
Sat, 10 Sep 2011 13:23:41 +0100 Make status test after record and kwexpand/kwshrink reliable
Christian Ebert <blacktrash@gmx.net> [Sat, 10 Sep 2011 13:23:41 +0100] rev 982
Make status test after record and kwexpand/kwshrink reliable This guarantees test failure when the dirstate code is omitted at the end of the kwtemplater.overwrite method. kwexpand/kwshrink: Without a 1 second wait the test succeeds sometimes, even when the dirstate of the overwritten file is not forced to normal. record: status after recording an added file allows to check whether normallookup is needed after overwriting.
Wed, 14 Sep 2011 15:30:21 +0100 Preserve file mode when overwriting
Christian Ebert <blacktrash@gmx.net> [Wed, 14 Sep 2011 15:30:21 +0100] rev 981
Preserve file mode when overwriting
Tue, 09 Aug 2011 12:56:43 +0200 Merge with default stable
Christian Ebert <blacktrash@gmx.net> [Tue, 09 Aug 2011 12:56:43 +0200] rev 980
Merge with default
Tue, 09 Aug 2011 12:54:11 +0200 Avoid x = a and b or c
Christian Ebert <blacktrash@gmx.net> [Tue, 09 Aug 2011 12:54:11 +0200] rev 979
Avoid x = a and b or c
Mon, 08 Aug 2011 09:38:40 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Aug 2011 09:38:40 +0100] rev 978
Merge with stable
Mon, 25 Jul 2011 16:37:18 -0500 tests: use getattr instead of hasattr stable
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:37:18 -0500] rev 977
tests: use getattr instead of hasattr [ original upstream message ]
Thu, 14 Jul 2011 08:39:48 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Jul 2011 08:39:48 +0100] rev 976
Merge with stable
Wed, 13 Jul 2011 19:23:08 +0200 run-tests: fix summary when accepting changes interactively stable
Patrick Mezard <pmezard@gmail.com> [Wed, 13 Jul 2011 19:23:08 +0200] rev 975
run-tests: fix summary when accepting changes interactively Accepted changes were not counted as success. [ original upstream message ]
Thu, 07 Jul 2011 12:54:12 +0100 Merge with default stable
Christian Ebert <blacktrash@gmx.net> [Thu, 07 Jul 2011 12:54:12 +0100] rev 974
Merge with default
Sun, 03 Jul 2011 12:58:03 +0200 Reuse already present working contexts for match
Christian Ebert <blacktrash@gmx.net> [Sun, 03 Jul 2011 12:58:03 +0200] rev 973
Reuse already present working contexts for match Shortens overlong line as side-effect.
Fri, 01 Jul 2011 14:52:14 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Fri, 01 Jul 2011 14:52:14 +0200] rev 972
Merge with stable
Thu, 30 Jun 2011 16:36:38 +0200 run-test: revert most of 439ed4721a6d, timeout uses fallback for terminate() stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 30 Jun 2011 16:36:38 +0200] rev 971
run-test: revert most of 439ed4721a6d, timeout uses fallback for terminate() [ original upstream message ]
Thu, 30 Jun 2011 16:25:05 +0200 run-tests: fallback to SIGTERM if subprocess.Popen does not have terminate() stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 30 Jun 2011 16:25:05 +0200] rev 970
run-tests: fallback to SIGTERM if subprocess.Popen does not have terminate() [ original upstream message ]
Mon, 20 Jun 2011 12:02:52 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Mon, 20 Jun 2011 12:02:52 +0200] rev 969
Merge with stable
Sat, 18 Jun 2011 16:52:51 -0500 scmutil: switch match users to supplying contexts stable
Matt Mackall <mpm@selenic.com> [Sat, 18 Jun 2011 16:52:51 -0500] rev 968
scmutil: switch match users to supplying contexts The most appropriate context is not always clearly defined. The obvious cases: For working directory commands, we use None For commands (eg annotate) with single revs, we use that revision The less obvious cases: For commands (eg status, diff) with a pair of revs, we use the second revision For commands that take a range (like log), we use None [ original upstream message ]
Tue, 14 Jun 2011 20:35:21 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Tue, 14 Jun 2011 20:35:21 +0200] rev 967
Merge with stable
Sun, 12 Jun 2011 17:26:20 +0300 run-tests: verbose log ignored test stable
Idan Kamara <idankk86@gmail.com> [Sun, 12 Jun 2011 17:26:20 +0300] rev 966
run-tests: verbose log ignored test [ original upstream message ]
Sat, 11 Jun 2011 15:03:58 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Sat, 11 Jun 2011 15:03:58 +0200] rev 965
Merge with stable
Sat, 11 Jun 2011 14:17:25 +0200 patch: generalize the use of patchmeta in applydiff() stable
Patrick Mezard <pmezard@gmail.com> [Sat, 11 Jun 2011 14:17:25 +0200] rev 964
patch: generalize the use of patchmeta in applydiff() - Add patchmeta.copy() and emit copies from iterhunks. Modifying patchmeta instances in applydiff() makes things simpler. - Rename selectfile() into makepatchmeta(). It is responsible for creating patchmeta for regular patches. - Pass patchmeta objects to patchfile() directly patchmeta instances were associated with git patches, for regular patches we had to pass additional variables to tell the patch intent to patchfile(). Instead, we generate patchmeta for regular patches and pass them. This will also help with patch filtering by matcher objects. [ original upstream message ]
Thu, 02 Jun 2011 00:12:10 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Thu, 02 Jun 2011 00:12:10 +0100] rev 963
Merge with stable
Tue, 31 May 2011 20:39:04 -0500 run-tests: allow whitelisting tests that should always run stable
Augie Fackler <durin42@gmail.com> [Tue, 31 May 2011 20:39:04 -0500] rev 962
run-tests: allow whitelisting tests that should always run It's desirable to run some tests all the time, for example test-check-pyflakes.t and test-check-code-hg.py. This allows passing --whitelist as a path to a file (flag can be specified more than once) which contains a list of files to whitelist. Whitelisted tests are run even if they're blacklisted or wouldn't match a --keyword test run. For example, to do a quick test of usehttp2, one can now do $ cat > test-whitelist <<EOF > test-check-pyflakes.t > test-check-code-hg.py > EOF $ (cd tests && ./run-tests.py --extra-config-opt 'ui.usehttp2=true' > -k http -j 8 --whitelist test-whitelist) and have all http-specific tests run as well as the two code linters. [ original upstream message ]
Sat, 28 May 2011 15:16:55 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Sat, 28 May 2011 15:16:55 +0100] rev 961
Merge with stable
Sat, 28 May 2011 11:44:27 +0200 run-tests: fix --blacklist (broken by 95715c2f90bf) stable
Patrick Mezard <pmezard@gmail.com> [Sat, 28 May 2011 11:44:27 +0200] rev 960
run-tests: fix --blacklist (broken by 95715c2f90bf) [ original upstream message ]
Sat, 28 May 2011 03:19:16 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Sat, 28 May 2011 03:19:16 +0100] rev 959
Merge with stable
Fri, 27 May 2011 21:50:10 +0200 patch: use temporary files to handle intermediate copies stable
Patrick Mezard <pmezard@gmail.com> [Fri, 27 May 2011 21:50:10 +0200] rev 958
patch: use temporary files to handle intermediate copies git patches may require copies to be handled out-of-order. For instance, take the following sequence: * modify a * copy a into b Here, we have to generate b from a before its modification. To do so, applydiff() was scanning for copy metadata and performing the copies before processing the other changes in-order. While smart and efficient, this approach complicates things by handling file copies and file creations at different places and times. While a new file must not exist before being patched a copied file already exists before applying the first hunk. Instead of copying the files at their final destination before patching, we store them in a temporary file location and retrieve them when patching. The filestore always stores file content in real files but nothing prevents adding a cache layer. The filestore class was kept separate from fsbackend for at least two reasons: - This class is likely to be reused as a temporary result store for a future repository patching call (entries just have to be extended to contain copy sources). - Delegating this role to backends might be more efficient in a repository backend case: the source files are already available in the repository itself and do not need to be copied again. It also means that third-parties backend would have to implement two other methods. If we ever decide to merge the filestore feature into backend, a minimalistic approach would be to compose with filestore directly. Keep in mind this copy overhead only applies for copy/rename sources, and may even be reduced to copy sources which have to handled ahead of time. [ original upstream message ]
Fri, 27 May 2011 21:50:09 +0200 patch: refactor file creation/removal detection stable
Patrick Mezard <pmezard@gmail.com> [Fri, 27 May 2011 21:50:09 +0200] rev 957
patch: refactor file creation/removal detection The patcher has to know if a file is being created or removed to check if the target already exists, or to actually unlink the file when a hunk emptying it is applied. This was done by embedding the creation/removal information in the first (and only) hunk attached to the file. There are two problems with this approach: - creation/removal is really a property of the file being patched and not its hunk. - for regular patches, file creation cannot be deduced at parsing time: there are case where the *stripped* file paths must be compared. Modifying hunks after their creation is clumsy and prevent further refactorings related to copies handling. Instead, we delegate this job to selectfile() which has all the relevant information, and remove the hunk createfile() and rmfile() methods. [ original upstream message ]
Fri, 27 May 2011 17:46:48 +0300 run-tests: fix --blacklist with jobs > 1 stable
Idan Kamara <idankk86@gmail.com> [Fri, 27 May 2011 17:46:48 +0300] rev 956
run-tests: fix --blacklist with jobs > 1 filter blacklisted tests before partitioning them to the children. maintains the 'Skipped...' output but not the 's'. [ original upstream message ]
Fri, 27 May 2011 17:46:47 +0300 run-tests: slightly simplify blacklist check stable
Idan Kamara <idankk86@gmail.com> [Fri, 27 May 2011 17:46:47 +0300] rev 955
run-tests: slightly simplify blacklist check [ original upstream message ]
Thu, 19 May 2011 00:51:06 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Thu, 19 May 2011 00:51:06 +0200] rev 954
Merge with stable
Wed, 18 May 2011 23:48:13 +0200 patch: set desired mode when patching, not in updatedir() stable
Patrick Mezard <pmezard@gmail.com> [Wed, 18 May 2011 23:48:13 +0200] rev 953
patch: set desired mode when patching, not in updatedir() This patch and the following aim at merging _updatedir() actions into _applydiff(). [ original upstream message ]
Wed, 18 May 2011 23:30:45 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Wed, 18 May 2011 23:30:45 +0200] rev 952
Merge with stable
Wed, 18 May 2011 15:45:57 +0200 run-tests: print a newline after all warnings stable
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 18 May 2011 15:45:57 +0200] rev 951
run-tests: print a newline after all warnings [ original upstream message ]
Wed, 18 May 2011 00:44:15 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Wed, 18 May 2011 00:44:15 +0200] rev 950
Merge with stable
Tue, 17 May 2011 23:46:15 +0200 patch: extract fs access from patchfile into fsbackend stable
Patrick Mezard <pmezard@gmail.com> [Tue, 17 May 2011 23:46:15 +0200] rev 949
patch: extract fs access from patchfile into fsbackend Most filesystem calls are already isolated in patchfile but this is not enough: renames are performed before patchfile is available and some chmod calls are even done outside of the applydiff call. Once all these calls are extracted into a backend class, we can provide cleaner APIs to write to a working directory context directly into the repository. [ original upstream message ]
Tue, 17 May 2011 13:45:25 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Tue, 17 May 2011 13:45:25 +0200] rev 948
Merge with stable
Mon, 16 May 2011 21:56:26 +0200 run-tests: replace chdir() with Popen cwd option stable
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:56:26 +0200] rev 947
run-tests: replace chdir() with Popen cwd option [ original upstream message ]
Mon, 16 May 2011 21:54:43 +0200 run-tests: make --debug run in the temporary test directory stable
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:54:43 +0200] rev 946
run-tests: make --debug run in the temporary test directory [ original upstream message ]
Mon, 16 May 2011 21:52:28 +0200 run-tests: use the common test path on Windows and Java stable
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:52:28 +0200] rev 945
run-tests: use the common test path on Windows and Java The alternate one did not run in the test directory and controlling the jobs execution with threads instead of process made it harder to fix. [ original upstream message ]
Mon, 16 May 2011 21:41:46 +0200 run-tests: ignore timeout when Popen.terminate is unavailable stable
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:41:46 +0200] rev 944
run-tests: ignore timeout when Popen.terminate is unavailable Popen.terminate was introduced in python 2.6 [ original upstream message ]
Mon, 16 May 2011 21:26:50 +0200 run-tests: fix hg.bat python reference stable
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:26:50 +0200] rev 943
run-tests: fix hg.bat python reference hg.bat expects to live in pythonxx/scripts and the python interpreter to be in pythonxx. run-tests.py file layout is a little different and python location must be fixed. [ original upstream message ]
Mon, 16 May 2011 21:24:14 +0200 run-tests: fix python executable detection and copy on Windows stable
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:24:14 +0200] rev 942
run-tests: fix python executable detection and copy on Windows [ original upstream message ]
Sat, 14 May 2011 13:26:49 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Sat, 14 May 2011 13:26:49 +0200] rev 941
Merge with stable
Fri, 13 May 2011 14:58:24 -0500 scmutil: drop aliases in cmdutil for match functions stable
Matt Mackall <mpm@selenic.com> [Fri, 13 May 2011 14:58:24 -0500] rev 940
scmutil: drop aliases in cmdutil for match functions [ original upstream message ]
Thu, 12 May 2011 19:45:46 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Thu, 12 May 2011 19:45:46 +0200] rev 939
Merge with stable
Thu, 12 May 2011 14:31:07 +0200 keyword: use cmdutil.command decorator stable
Martin Geisler <mg@aragost.com> [Thu, 12 May 2011 14:31:07 +0200] rev 938
keyword: use cmdutil.command decorator [ original upstream message ]
Tue, 10 May 2011 01:44:09 +0200 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Tue, 10 May 2011 01:44:09 +0200] rev 937
Merge with stable
(0) -300 -100 -56 +56 +100 +300 tip