Thomas Arendsen Hein <thomas@intevation.de> [Tue, 03 Apr 2012 19:06:35 +0200] rev 1061
tests: make tests work if directory contains special characters
With this quoting tests will work e.g. in "/tmp/foo bar/mercurial/".
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 03 Apr 2012 16:34:50 +0100] rev 1060
Merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 02 Apr 2012 17:02:03 -0500] rev 1059
tests: shorten post-test sleeps
This helps expose races
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 02 Apr 2012 17:28:55 +0100] rev 1058
Merge with stable
A. S. Budden <abudden@gmail.com> [Fri, 30 Mar 2012 22:08:46 +0100] rev 1057
record: allow splitting of hunks by manually editing patches
It is possible that unrelated changes in a file are on sequential lines. The
current record extension does not allow these to be committed independently.
An example use case for this is in software development for deeply embedded
real-time systems. In these environments, it is not always possible to use a
debugger (due to time-constraints) and hence inline UART-based printing is
often used. When fixing a bug in a module, it is often convenient to add a
large number of 'printf's (linked to the UART via a custom fputc) to the module
in order to work out what is going wrong. printf is a very slow function (and
also variadic so somewhat frowned upon by the MISRA standard) and hence it is
highly undesirable to commit these lines to the repository. If only a partial
fix is implemented, however, it is desirable to commit the fix without deleting
all of the printf lines. This is also simplifies removal of the printf lines
as once the final fix is committed, 'hg revert' does the rest. It is likely
that the printf lines will be very near the actual fix, so being able to split
the hunk is very useful in this case.
There were two alternatives I considered for the user interface. One was to
manually edit the patch, the other to allow a hunk to be split into individual
lines for consideration. The latter option would require a significant
refactor of the record module and is less flexible. While the former is
potentially more complicated to use, this is a feature that is likely to only
be used in certain exceptional cases (such as the use case proposed above) and
hence I felt that the complexity would not be a considerable issue.
I've also written a follow-up patch that refactors the 'prompt' code to base
everything on the choices variable. This tidies up and clarifies the code a
bit (removes constructs like 'if ret == 7' and removes the 'e' option from the
file scope options as it's not relevant there. It's not really a necessity, so
I've excluded it from this submission for now, but I can send it separately if
there's a desire and it's on bitbucket (see below) in the meantime.
Possible future improvements include:
* Tidying up the 'prompt' code to base everything on the choices variable.
This would allow entries to be removed from the prompt as currently 'e' is
offered even for entire file patches, which is currently unsupported.
* Allowing the entire file (or even multi-file) patch to be edited manually:
this would require quite a large refactor without much benefit, so I decided
to exclude it from the initial submission.
* Allow the option to retry if a patch fails to apply (this is what Git does).
This would require quite a bit of refactoring given the current 'hg record'
implementation, so it's debatable whether it's worth it.
Output is similar to existing record user interface except that an additional
option ('e') exists to allow manual editing of the patch. This opens the
user's configured editor with the patch. A comment is added to the bottom of
the patch explaining what to do (based on Git's one).
A large proportion of the changeset is test-case changes to update the options
reported by record (Ynesfdaq? instead of Ynsfdaq?). Functional changes are in
record.py and there are some new test cases in test-record.t.
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 1056
tests: make hghave handle exec bit on Linux with vfat
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 1055
tests: teach hghave to actually test for symlink support
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 31 Mar 2012 17:14:32 +0100] rev 1054
Merge with stable
Dirkjan Ochtman <dirkjan@ochtman.nl> [Sat, 11 Sep 2010 10:57:35 +0200] rev 1053
tests: fix incompatibility with python-2.4 in test-hgweb
Thanks to lcantey for catching it.
[ original upstream message ]
Dirkjan Ochtman <dirkjan@ochtman.nl> [Wed, 08 Sep 2010 15:11:35 +0200] rev 1052
tests: extend get-with-headers to support cache testing
[ original upstream message ]
Nicolas Dumazet <nicdumz.commits@gmail.com> [Wed, 14 Apr 2010 17:58:10 +0900] rev 1051
pylint, pyflakes: remove unused or duplicate imports
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 11 Feb 2012 14:18:19 +0000] rev 1050
Merge with stable
Patrick Mezard <patrick@mezard.eu> [Tue, 07 Feb 2012 18:47:16 +0100] rev 1049
mq: restore _branchtags() fast path (issue3223)
Since a5917346c72e, mq saves the nodeid of the first applied patch to
cache/branchheads, which breaks the optimized cache handling introduced in
fbf8320f25c8. The problem is the revision being committed is appended to
mqrepo.applied after the commit succeeds, which means mqrepo._branchtags()
performs a regular update and write the first applied patch to the branch
cache.
One solution is to set a context variable _committingpatch on the mqrepo while
it is committing a patch and to take it in account when deciding to fast-path
mqrepo._branchtags(). Not really elegant but it works.
The changes to test-mq-caches.t reverse changes introduced by a5917346c72e. The
cache should not have been updated with mq records.
The changes to test-keyword.t are indirectly caused by a5917346c72e.
Reported and analyzed by Yuya Nishihara <yuya@tcha.org>
Notes:
- qpush still makes a slow path _branchtags() call when checking heads. Maybe
this can be optimized.
- be careful when merging this patch in default as secretcommit() was renamed
newcommit() right after the end of the code freeze.
[ original upstream message ]
Jim Hague <jim.hague@acm.org> [Wed, 08 Feb 2012 16:56:00 +0000] rev 1048
tests: tighten checks for octal escapes in shell printf.
printf on AIX default shell ksh (89) says \1 is an invalid escape. It insists
on at least 2 digits. This causes failures in test-keyword.t and test-status.t.
check-code.py already looks out for \NNN and recommends using Python
for outputting octal values. Extend the check to \NN and \N and fix up
resulting failures.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 23 Jan 2012 16:21:12 +0100] rev 1047
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 14 Jan 2012 01:56:27 +0100] rev 1046
run-tests: expand user in --with-hg
This makes it possible to run:
$ ./run-tests.py --with-hg=~/hg-bin/hg
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Fri, 20 Jan 2012 01:24:16 +0100] rev 1045
tests: let run-tests.py default to use 'sh' in $PATH instead of '/bin/sh'
This makes it easier to run tests on systems that have a usable sh in the
search path but not in the standard location.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Sat, 14 Jan 2012 01:55:50 +0100] rev 1044
tests: add 'set -x' to the .t sh scripts in run-tests.py debug mode
This makes -d output much more readable when debugging the test framework or
very strange test failures.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 19 Jan 2012 02:01:05 +0100] rev 1043
Merge with default
Christian Ebert <blacktrash@gmx.net> [Sun, 15 Jan 2012 13:37:33 +0100] rev 1042
Update filectx.cmp monkeypatch to handle '\1\n' at start of file
Analogous to 012b285cf643 in mercurial main.
Sune Foldager <cryo@cyanite.org> [Wed, 18 Jan 2012 16:46:15 +0100] rev 1041
phases: use nodemap to check for missing nodes
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 19 Jan 2012 01:50:48 +0100] rev 1040
Merge with stable
Markus Zapke-Gr?ndemann <info@keimlink.de> [Wed, 11 Jan 2012 15:38:31 +0100] rev 1039
tests: add htmlcov option
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 12 Jan 2012 14:39:02 -0600] rev 1038
run-tests: use a list comprehension instead of map
[ original upstream message ]
Markus Zapke-Gr?ndemann <info@keimlink.de> [Wed, 11 Jan 2012 15:37:25 +0100] rev 1037
tests: fix omit path list
All directories need a trailing asterisk. Otherwise the files are not excluded
from coverage.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 09 Dec 2011 00:10:00 +0100] rev 1036
Merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 08 Dec 2011 14:32:44 -0600] rev 1035
branch: warn on branching
[ orginal upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 24 Nov 2011 06:43:43 +0000] rev 1034
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 01:49:20 +0100] rev 1033
tests: use an alias to make msys 'pwd' return paths with forward slashes
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 01:49:20 +0100] rev 1032
tests: skip cvs tests with msys on windows
They will fail with weird 'ssh' errors.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 01:49:20 +0100] rev 1031
tests: introduce 'hghave msys' to skip tests that would fail because of msys
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 24 Nov 2011 06:42:48 +0000] rev 1030
Merge with default
Christian Ebert <blacktrash@gmx.net> [Wed, 23 Nov 2011 01:20:32 +0000] rev 1029
test-keyword: use inline doctest syntax
Christian Ebert <blacktrash@gmx.net> [Mon, 21 Nov 2011 11:52:11 +0000] rev 1028
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 00:39:32 +0100] rev 1027
tests: skip color test on platforms without tic
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 21 Nov 2011 11:51:46 +0000] rev 1026
Merge with default
Make tests/hgave executable on stable branch too.
Christian Ebert <blacktrash@gmx.net> [Fri, 18 Nov 2011 11:06:59 +0000] rev 1025
Merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 16 Nov 2011 18:04:19 -0600] rev 1024
merge: give a special message for internal:merge failure (issue3105)
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 16 Nov 2011 12:55:59 +0000] rev 1023
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 03:45:14 +0100] rev 1022
tests: use the specified shell for running old fashioned sh tests
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 11 Nov 2011 09:39:33 +0000] rev 1021
Merge with stable
Christian Ebert <blacktrash@gmx.net> [Fri, 11 Nov 2011 09:38:45 +0000] rev 1020
Make hghave executable
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 1019
run-tests: make $TESTTMP matching case-insensitive on windows
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 1018
run-tests: don't quote command names - that do apparently not work with msys
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 1017
tests: ignore \r on windows
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 1016
run-tests: convert windows paths to unix
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 1015
tests: make (glob) on windows accept \ instead of /
Globbing is usually used for filenames, so on windows it is reasonable and very
convenient that glob patterns accepts '\' or '/' when the pattern specifies
'/'.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:24:53 +0100] rev 1014
tests: use 'hghave serve' to guard tests that requires serve daemon management
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:55 +0100] rev 1013
tests: use 'hghave system-sh' to guard tests that requires sh in system()
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:55 +0100] rev 1012
tests: use 'hghave no-windows' to avoid testing reserved file names on windows
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:55 +0100] rev 1011
tests: use 'hghave unix-permissions' for tests that really use chmod
chmod of helper scripts is not included.
tests that exercise the x bit in the file system uses 'hghave execbit'.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:54 +0100] rev 1010
tests: use 'hghave symlink' for tests using symlinks
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 02:44:04 +0100] rev 1009
tests: make '(esc)' matching in run-tests.py work as intended
The code for match on (esc) lines didn't work, and it would thus always end up
emitting another suggestion ... which however would match the old one.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 09 Nov 2011 13:45:20 +0000] rev 1008
Merge with default
Christian Ebert <blacktrash@gmx.net> [Wed, 09 Nov 2011 13:44:57 +0000] rev 1007
Add hghave test as of 5635a4017061
Christian Ebert <blacktrash@gmx.net> [Tue, 08 Nov 2011 18:13:53 +0000] rev 1006
Merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 07 Nov 2011 13:46:41 -0600] rev 1005
run-tests: replace inline python handling with more native scheme
Normally changes in tests are reported like this in diffs:
$ cat foo
- a
+ b
Using -i mode lets us update tests when the new results are correct
and/or populate tests with their output.
But with the standard doctest framework, inline Python sections in
tests changes instead result in a big failure report that's unhelpful.
So here, we replace the doctest calls with a simple compile/eval loop.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Nov 2011 13:52:03 +0000] rev 1004
Merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 15:18:10 -0500] rev 1003
run-tests: minor cleanups
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 15:08:45 -0500] rev 1002
run-tests: pull out line matching function
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:51:04 -0500] rev 1001
run-tests: pull out unified matching funcs
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:48:56 -0500] rev 1000
tests: add some comments to the unified test code
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:30:00 -0500] rev 999
tests: rewrite inline Python support
Tests with inline Python could turn '>>>' into their underlying python
invocation if the test got updated with -i.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Nov 2011 13:48:11 +0000] rev 998
Backout b78cce2b1430 until a proper solution is found
Christian Ebert <blacktrash@gmx.net> [Mon, 24 Oct 2011 17:02:10 +0100] rev 997
Merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 22 Oct 2011 23:21:38 +0200] rev 996
run-tests: make sure no_proxy/NO_PROXY are empty to fix test-http-proxy.t
If no_proxy (or NO_PROXY) includes localhost, the test for detecting an
unreachable proxy fails, because the proxy setting is ignored.
[ original upstream message ]
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 24 Oct 2011 13:54:59 +0200] rev 995
keyword: use util.realpath instead of os.path.realpath
This makes test-keyword.t pass on Python 2.4.1 (e.g. Debian sarge)
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 22 Oct 2011 15:45:19 +0100] rev 994
Merge with default
Christian Ebert <blacktrash@gmx.net> [Fri, 21 Oct 2011 12:07:27 +0100] rev 993
Correct grammar in iskwfile docstring
Christian Ebert <blacktrash@gmx.net> [Sat, 22 Oct 2011 15:43:48 +0100] rev 992
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Sun, 16 Oct 2011 15:32:04 +0100] rev 990
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Thu, 13 Oct 2011 17:48:29 +0100] rev 988
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Sat, 08 Oct 2011 00:24:35 +0100] rev 986
Merge with 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 ]
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.
Christian Ebert <blacktrash@gmx.net> [Wed, 14 Sep 2011 15:34:32 +0100] rev 983
Merge with default
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.
Christian Ebert <blacktrash@gmx.net> [Wed, 14 Sep 2011 15:30:21 +0100] rev 981
Preserve file mode when overwriting
Christian Ebert <blacktrash@gmx.net> [Tue, 09 Aug 2011 12:56:43 +0200] rev 980
Merge with default
Christian Ebert <blacktrash@gmx.net> [Tue, 09 Aug 2011 12:54:11 +0200] rev 979
Avoid x = a and b or c
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Aug 2011 09:38:40 +0100] rev 978
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Jul 2011 08:39:48 +0100] rev 976
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Thu, 07 Jul 2011 12:54:12 +0100] rev 974
Merge with default
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.
Christian Ebert <blacktrash@gmx.net> [Fri, 01 Jul 2011 14:52:14 +0200] rev 972
Merge with 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 ]
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 ]
Christian Ebert <blacktrash@gmx.net> [Mon, 20 Jun 2011 12:02:52 +0200] rev 969
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Tue, 14 Jun 2011 20:35:21 +0200] rev 967
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Sat, 11 Jun 2011 15:03:58 +0200] rev 965
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Thu, 02 Jun 2011 00:12:10 +0100] rev 963
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Sat, 28 May 2011 15:16:55 +0100] rev 961
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Sat, 28 May 2011 03:19:16 +0100] rev 959
Merge with 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 ]
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 ]
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 ]
Idan Kamara <idankk86@gmail.com> [Fri, 27 May 2011 17:46:47 +0300] rev 955
run-tests: slightly simplify blacklist check
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 19 May 2011 00:51:06 +0200] rev 954
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Wed, 18 May 2011 23:30:45 +0200] rev 952
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Wed, 18 May 2011 00:44:15 +0200] rev 950
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Tue, 17 May 2011 13:45:25 +0200] rev 948
Merge with 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 ]
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 ]
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 ]
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 ]
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 ]
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 ]
Christian Ebert <blacktrash@gmx.net> [Sat, 14 May 2011 13:26:49 +0200] rev 941
Merge with 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 ]
Christian Ebert <blacktrash@gmx.net> [Thu, 12 May 2011 19:45:46 +0200] rev 939
Merge with stable
Martin Geisler <mg@aragost.com> [Thu, 12 May 2011 14:31:07 +0200] rev 938
keyword: use cmdutil.command decorator
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 10 May 2011 01:44:09 +0200] rev 937
Merge with stable
Martin Geisler <mg@aragost.com> [Mon, 09 May 2011 17:20:15 +0200] rev 936
run-tests: remove check on --shell argument
No shell is needed when executing Python tests and finding a good
shell might be difficult/impossible on some platforms (e.g., Windows).
[ original upstream message ]
Idan Kamara <idankk86@gmail.com> [Sat, 07 May 2011 21:01:15 +0300] rev 935
run-tests: take the basepath when constructing the test temp dir
so it's possible to run tests that are outside the test/ dir
[ original upstream message ]
Idan Kamara <idankk86@gmail.com> [Sat, 07 May 2011 20:56:43 +0300] rev 934
run-tests: compare absolute paths in _checkhglib
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 06 May 2011 20:13:10 +0200] rev 933
Merge with stable
Martin Geisler <mg@lazybytes.net> [Thu, 05 May 2011 20:04:49 +0200] rev 932
run-tests: add --shell command line flag
This makes it easy to test with, say, both /bin/bash and /bin/dash
instead of changing the system-wide /bin/sh.
[ original upstream message ]
Martin Geisler <mg@lazybytes.net> [Thu, 05 May 2011 20:03:43 +0200] rev 931
run-tests: use type of default to convert environment variable
Before, defaults could only be integers, they can now also be strings,
floats and what have you.
[ original upstream message ]
Augie Fackler <durin42@gmail.com> [Wed, 04 May 2011 10:39:10 -0500] rev 930
run-tests.py: correctly handle list options with parallel tasks
[ original upstream message ]
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 02 May 2011 10:11:18 +0200] rev 929
prevent transient leaks of file handle by using new helper functions
These leaks may occur in environments that don't employ a reference
counting GC, i.e. PyPy.
This implies:
- changing opener(...).read() calls to opener.read(...)
- changing opener(...).write() calls to opener.write(...)
- changing open(...).read(...) to util.readfile(...)
- changing open(...).write(...) to util.writefile(...)
[ original upstream description ]
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 02 May 2011 19:20:29 +0200] rev 928
localrepo: reuse parent manifest in commitctx if no files have changed
This speeds up the in-memory version of debugbuilddag that I'm
working on considerably for the case where we want to build just
a 00changelog.i (for discovery tests, for instance).
There are a couple of test changes because node ids in tests
have changed.
The changes to the patch names in test-mq-qdelete.t were required
because they could collide with nodeid abbreviations and newly
actually do (patch "c" collides with id "cafe..." for patch "b").
[ original upstream description ]
Christian Ebert <blacktrash@gmx.net> [Sun, 01 May 2011 18:18:31 +0100] rev 927
Merge with stable
Augie Fackler <durin42@gmail.com> [Sun, 01 May 2011 08:00:25 -0500] rev 926
run-tests: add flag to provide extra hgrc options for test runs
[ original upstream message ]
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 925
tests: move test bundles in a bundles/ subdirectory
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 01 May 2011 10:37:57 +0100] rev 924
Merge with stable
Idan Kamara <idankk86@gmail.com> [Sat, 30 Apr 2011 15:20:27 +0300] rev 923
run-tests: print a new line before writing the diff
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 30 Apr 2011 11:41:20 +0100] rev 922
Merge with stable
Idan Kamara <idankk86@gmail.com> [Fri, 29 Apr 2011 20:29:22 +0300] rev 921
run-tests: don't count test as succeeded if it failed
regressed around ec4ae5727f07
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 30 Apr 2011 01:25:43 +0100] rev 920
Merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 25 Apr 2011 17:01:34 -0500] rev 919
run-tests: do chdir for tests under a lock for thread safety
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Mon, 25 Apr 2011 16:17:08 -0500] rev 918
run-tests: add iolock to vlog
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 25 Apr 2011 23:09:47 +0100] rev 917
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Mon, 25 Apr 2011 18:42:31 +0200] rev 916
run-tests: display diff before prompting with --interactive
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 17:52:46 -0500] rev 915
run-tests: fix some missing i/o locks
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 16:46:37 -0500] rev 914
run-tests: add a lock for console I/O
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 16:42:15 -0500] rev 913
run-tests: switch timeout handling from alarm to helper thread
This should be slightly more portable than signals and be compatible
with threaded dispatch.
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 16:42:11 -0500] rev 912
run-tests: add locking on results struct
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 25 Apr 2011 01:42:21 +0100] rev 911
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Apr 2011 23:33:48 +0200] rev 910
run-tests: fix --interactive (after 994ad067ac6e)
- Do not prompt if there is no .err file
- Fix source and target paths
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 14:04:34 -0500] rev 909
run-tests: move test loop into a helper function
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 12:24:22 -0500] rev 908
run-tests: use a results dict
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 11:36:40 -0500] rev 907
run-tests: move blacklist and retest filtering to runone
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 11:32:05 -0500] rev 906
run-tests: keep a list of passed tests
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 11:24:27 -0500] rev 905
run-tests: move keyword checking into runone
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 11:22:02 -0500] rev 904
run-tests: add ignores list
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 21 Apr 2011 18:38:30 -0500] rev 903
run-tests: move existence/name format check into runone
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 21 Apr 2011 18:19:45 -0500] rev 902
run-tests: move interactive handling into runone
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Wed, 20 Apr 2011 21:41:41 +0200] rev 901
move canonpath from util to scmutil
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 10 Apr 2011 20:51:39 +0200] rev 900
Merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 09 Apr 2011 15:52:19 -0500] rev 899
tests: better output on timeouts
Formerly, timeouts would generate huge scrollback-destroying diffs and
weird -15 return codes in the summary. Now we simply report "timed
out".
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 05 Apr 2011 16:35:41 +0200] rev 898
Merge with stable
Martin Geisler <mg@aragost.com> [Tue, 05 Apr 2011 11:07:25 +0200] rev 897
keyword: convert a verbatim block to a field list
[ orginal upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 27 Mar 2011 13:15:35 +0200] rev 896
Merge with stable
Idan Kamara <idankk86@gmail.com> [Fri, 25 Mar 2011 22:15:37 +0200] rev 895
tests: set HOME to the test temp dir (issue2707)
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 14 Mar 2011 23:11:14 +0100] rev 894
Merge with default
Christian Ebert <blacktrash@gmx.net> [Mon, 14 Mar 2011 12:26:50 +0100] rev 893
Offer additional datefilters when the extension is enabled
Before the additional datefilters (utcdate, svnisodate, svnutcdate)
were used when kwtemplater was initialized. Now they always be used
once the extension is enabled.
Christian Ebert <blacktrash@gmx.net> [Mon, 14 Mar 2011 12:19:59 +0100] rev 892
Docstrings for additional date filters
Christian Ebert <blacktrash@gmx.net> [Sat, 12 Mar 2011 13:19:55 +0100] rev 891
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Sat, 12 Mar 2011 12:46:31 +0100] rev 890
templates: document missing keywords or filters
Keywords keywords are not documented yet but are turned into function
definitions to avoid lambda docstring weirdness.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 10 Mar 2011 22:02:02 +0100] rev 889
Merge with stable
Martin Geisler <mg@aragost.com> [Thu, 10 Mar 2011 13:43:47 +0100] rev 888
tests: use $TESTTMP more and use (glob) less
This locks down the test output a little more.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 10 Mar 2011 22:01:08 +0100] rev 887
stable: merge with default
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Mar 2011 14:43:27 +0100] rev 886
README: minimal test command line
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Mar 2011 14:41:14 +0100] rev 885
Merge with stable
Gilles Moris <gilles.moris@free.fr> [Thu, 10 Feb 2011 09:03:06 +0100] rev 884
rollback: clarifies the message about the reverted state (issue2628)
Previously, when rolling back a transaction, some users could be confused
between the level to which the store is rolled back, and the new parents
of the working directory.
$ hg rollback
rolling back to revision 4 (undo commit)
With this change:
$ hg rollback
repository tip rolled back to tip revision 4 (undo commit)
working directory now based on revision 2 and 1
So now the user can realize that the store has been rolled back to an older
tip, but also that the working directory may not on the tip (here we are
rolling back the merge of the heads 2 and 1)
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Mar 2011 14:34:27 +0100] rev 883
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Sun, 06 Mar 2011 14:19:57 +0100] rev 882
run-tests: handle mixed comment lines in blacklists
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 15 Feb 2011 10:40:29 +0100] rev 881
Merge with stable
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Fri, 24 Dec 2010 15:23:01 +0100] rev 880
explicitly close files
Add missing calls to close() to many places where files are
opened. Relying on reference counting to catch them soon-ish is not
portable and fails in environments with a proper GC, such as PyPy.
[ original upstream description ]
Christian Ebert <blacktrash@gmx.net> [Fri, 11 Feb 2011 04:55:00 +0100] rev 879
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Wed, 02 Feb 2011 23:21:13 +0100] rev 878
run-tests: only call WIFEXITED on systems it exists
not on Windows or in jython
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Tue, 01 Feb 2011 20:47:05 +0100] rev 877
run-tests: loadable as module
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 26 Jan 2011 17:49:11 +0000] rev 876
stable: merge with default
Christian Ebert <blacktrash@gmx.net> [Sun, 23 Jan 2011 03:15:44 +0100] rev 875
Move repo.__class__ assignment out of monkeypatch context
A cosmetic change to improve readability.
Christian Ebert <blacktrash@gmx.net> [Sun, 23 Jan 2011 03:15:39 +0100] rev 874
Inform user about current keywordset in kwdemo
The kwdemo --default output now looks roughly like this:
configuration using default cvs keywordset
[extensions]
keyword =
[keyword]
demo.txt =
[keywordset] * section added with this change
svn = False
[keywordmaps]
...
Christian Ebert <blacktrash@gmx.net> [Sun, 16 Jan 2011 15:45:26 +0100] rev 873
Update documentation for kwshrink
* remove obsolete reference to potential problems with merge and import
* emphasize that running kwshrink before configuration changes which
affect active/expanded keywords is mandatory
Christian Ebert <blacktrash@gmx.net> [Sat, 11 Dec 2010 12:49:10 +0100] rev 872
Merge with default
Christian Ebert <blacktrash@gmx.net> [Sun, 05 Dec 2010 13:07:28 +0100] rev 871
Make kwfiles show deleted files configured for expansion
Christian Ebert <blacktrash@gmx.net> [Sun, 05 Dec 2010 13:07:24 +0100] rev 870
Colorize hg kwfiles output
Christian Ebert <blacktrash@gmx.net> [Thu, 02 Dec 2010 09:44:01 +0100] rev 869
Merge with default
Christian Ebert <blacktrash@gmx.net> [Thu, 02 Dec 2010 09:42:21 +0100] rev 868
Copy: when copied source is a symlink, follow it
1) hg cp symlink copy -> copy is a symlink.
2) cp symlink copy; hg cp -A symlink copy -> copy is a regular file.
In the second case we have to follow the symlink to its target
to find out whether we have to unexpand keywords in the copy.
Add test covering the case where the copied link's target is ignored
by keyword but has content which would match the regex for expanded
keywords to check whether we indeed leave the destination alone.
Christian Ebert <blacktrash@gmx.net> [Thu, 02 Dec 2010 09:41:56 +0100] rev 867
Merge with stable
Martin Geisler <mg@aragost.com> [Mon, 22 Nov 2010 18:15:58 +0100] rev 866
code style: prefer 'is' and 'is not' tests with singletons
[ original upstream description ]
Christian Ebert <blacktrash@gmx.net> [Mon, 22 Nov 2010 20:45:42 +0100] rev 865
Merge with default
Christian Ebert <blacktrash@gmx.net> [Mon, 22 Nov 2010 20:44:36 +0100] rev 864
s/config/configuration/ in help
Christian Ebert <blacktrash@gmx.net> [Tue, 16 Nov 2010 16:59:06 +0100] rev 863
Merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 16 Nov 2010 10:33:19 +0900] rev 862
run-tests: fix --debug for .t tests
When --debug is given to the test runner, run() returns (retcode, None).
Do not try to use None output as a string, and return directly, similarly
as other testers.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 09 Nov 2010 10:31:54 +0000] rev 861
Merge with stable
Erik Zielke <ez@aragost.com> [Mon, 08 Nov 2010 10:56:47 +0100] rev 860
run-test: fixed wrong parenthesis
Fixed wrong placement of end parenthesis, from b911cb80c671
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Nov 2010 11:11:23 +0000] rev 859
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:35:41 +0100] rev 858
tests: use (esc) markup for string-escape
This makes test output less ambiguous.
Failing test output will be escaped and marked up if necessary. A Python
string-escape compatible encoding is used, but not everything is encoded -
especially not \n and \t and '.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:35:40 +0100] rev 857
tests: (no-eol) markup for command output without trailing LF
Output chunks without a trailing LF will now work but get (no-eol) appended.
This change mostly moves code around so we can handle that an output line
starts with data from previous command, followed by salt and the next command.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Sat, 06 Nov 2010 00:31:44 +0100] rev 856
tests: handle .t files without trailing LF
9a2de8dae27b made this simple test-test.t succeed silently:
$ printf ' $ true' > test-test.t
but did not give a usable .err in this case:
$ printf ' $ false' > test-test.t
The missing LF will now be fixed in the test output and it will thus give a
test failure and a solution in the .err file.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 05 Nov 2010 10:01:23 +0000] rev 855
Merge with default
Christian Ebert <blacktrash@gmx.net> [Fri, 05 Nov 2010 10:00:11 +0000] rev 854
Turn regexes and escaped keywords into a propertycache
Christian Ebert <blacktrash@gmx.net> [Tue, 02 Nov 2010 14:04:21 +0100] rev 853
Merge with stable
Martin Geisler <mg@aragost.com> [Mon, 01 Nov 2010 10:24:07 +0100] rev 852
run-tests: use regex when searching for $HGPORT in test output
This prevents spurious errors when a changeset hash happens to match
the port number. Before, this invocation gave a test failure:
$ ./run-tests.py test-log.t --port 24427
ERROR: /home/mg/src/mercurial-crew/tests/test-log.t output changed
--- /home/mg/src/mercurial-crew/tests/test-log.t
+++ /home/mg/src/mercurial-crew/tests/test-log.t.err
@@ -626,12 +626,12 @@
$ hg log -b default
changeset: 2:c3a4f03cc9a7
- parent: 0:24427303d56f
+ parent: 0:$HGPORT303d56f
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: commit on default
...
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 27 Oct 2010 11:15:31 +0100] rev 851
Merge with stable
Kevin Bullock <kbullock@ringworld.org> [Wed, 20 Oct 2010 17:38:21 -0500] rev 850
pull: silence spurious 'requesting all changes' message
When issuing `hg pull -r REV` in a repo with no common ancestor with the
remote repo, the message 'requesting all changes' is printed, even though only
the changese that are ancestors of REV are actually requested. This can be
confusing for users (see
http://www.selenic.com/pipermail/mercurial/2010-October/035508.html).
This silences the message if (and only if) the '-r' option was passed.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 25 Oct 2010 19:21:06 +0100] rev 849
Function to look up changectx for expansion
Similarly rename variable in kwtemplater.overwrite().
Christian Ebert <blacktrash@gmx.net> [Mon, 25 Oct 2010 19:21:06 +0100] rev 848
Compile regexes on demand
Christian Ebert <blacktrash@gmx.net> [Mon, 25 Oct 2010 20:00:18 +0100] rev 847
Merge with default
Christian Ebert <blacktrash@gmx.net> [Mon, 25 Oct 2010 19:21:06 +0100] rev 846
Fix regressions introduced in 9d01f9cab5e2
- dirstate of overwritten files must be forced to normal
with kwexpand/kwshrink, not commit.
- recorded files must be weeded before overwriting.
- add test cases.
Christian Ebert <blacktrash@gmx.net> [Wed, 20 Oct 2010 22:46:09 +0100] rev 845
Merge with stable
Yuya Nishihara <yuya@tcha.org> [Sat, 02 Oct 2010 22:57:25 +0900] rev 844
tests: accept \-escaped test output
It changes tsttest to accept expected outputs in python-style \-escapes.
It aims to avoid trouble with outputs for non-ascii, color and progress
tests.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 15 Oct 2010 00:36:45 +0200] rev 843
Merge with default
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Oct 2010 22:53:17 +0200] rev 842
Only use expensive fctx.cmp when needed
Restrict expensive cmp to cases when:
- comparing against working directory
and
- encode filters active
or
- path is configured for keyword expansion
Christian Ebert <blacktrash@gmx.net> [Wed, 13 Oct 2010 09:21:19 +0100] rev 841
Merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 27 Jul 2010 23:07:30 +0900] rev 840
filectx: use ctx.size comparisons to speed up ctx.cmp
Comparing sizes is cheaper than comparing file contents, as it does not
involve reading the file on disk or from the filelog.
It is however not always possible: some extensions, or encode filters,
change data when extracting it to the working directory.
[ original upstream description ]
Christian Ebert <blacktrash@gmx.net> [Wed, 13 Oct 2010 09:18:46 +0100] rev 839
Merge with stable
Christian Ebert <blacktrash@gmx.net> [Tue, 12 Oct 2010 16:29:32 +0100] rev 838
Code cleanup
- move preselection of expansion candidates for rollback
and record into helper function
- same overwrite order in rollback and record:
1. modified, 2. added
- self.wlock() inside kwrepo class instead of repo.wlock()