Christian Ebert <blacktrash@gmx.net> [Tue, 05 Jun 2012 00:20:53 +0100] rev 1087
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 01 Jun 2012 02:25:12 +0200] rev 1086
tests: introduce c-style conditional sections in .t tests
This makes it possible to have conditional sections like:
#if windows
$ echo foo
foo
#else
$ echo bar
bar
#endif
The directives and skipped sections are treated like comments, so don't
interleave them with commands and their output.
The parameters to #if are evaluated while preparing the test by passing them
over to hghave. Requirements can thus be negated with 'no-' prefix, and
multiple requirements must all be true to return true.
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Wed, 30 May 2012 14:28:57 +0200] rev 1085
run-tests: don't add python lines to expected dict
For test input lines of *.t files starting with ' >>> ', the code block for
' >>> '
609: if l.startswith(' >>> '): # python inlines
610: after.setdefault(pos, []).append(l)
was (unsurprisingly) executed, but because there was an "if" instead of an
"elif" on the condition "l.startswith(' ... ')", program execution proceeded
to line 636
635: elif l.startswith(' '): # results
636: # queue up a list of expected results
637: expected.setdefault(pos, []).append(l[2:])
due to the fact that if l starts with ' >>> ' it also starts with ' '.
The net effect was that python command lines in *.t files were (surprisingly)
also added to the "expected" dict.
This caused no externally observable bad behavior, as the "expected" dict was
not consulted for these lines.
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Sun, 03 Jun 2012 19:35:23 +0200] rev 1084
run-test: replace backslashes in TESTDIR
This may cause troubles in MSYS on Windows.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 02 Jun 2012 10:09:59 +0200] rev 1083
Merge with default
Christian Ebert <blacktrash@gmx.net> [Thu, 31 May 2012 12:47:50 +0200] rev 1082
Update copyleft
Christian Ebert <blacktrash@gmx.net> [Thu, 31 May 2012 12:47:50 +0200] rev 1081
Wlock cmdutil.copy wrapper
Expanding/shrinking happens outside the wrapped copy function;
therefore write lock the repo.
Christian Ebert <blacktrash@gmx.net> [Thu, 31 May 2012 12:47:50 +0200] rev 1080
Support commit --amend (issue3471)
Include a test as well.
Christian Ebert <blacktrash@gmx.net> [Thu, 31 May 2012 12:47:49 +0200] rev 1079
Rename kwt.record attribute to kwt.postcommit
A more general descriptive name, as the attribute will be used
for commit --amend as well.
Christian Ebert <blacktrash@gmx.net> [Fri, 18 May 2012 01:21:54 +0100] rev 1078
Merge with stable
Augie Fackler <raf@durin42.com> [Tue, 15 May 2012 14:37:49 -0500] rev 1077
hgext: mark all first-party extensions as such
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 18 May 2012 01:21:22 +0100] rev 1076
Merge with default
Christian Ebert <blacktrash@gmx.net> [Sun, 13 May 2012 14:26:26 +0100] rev 1075
Intentionally ignore check-code warning about unwrapped ui message
Christian Ebert <blacktrash@gmx.net> [Sun, 13 May 2012 14:39:47 +0100] rev 1074
Merge with stable
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:00:57 +0200] rev 1073
cleanup: "not x in y" -> "x not in y"
[ original upstream message ]
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:02:45 +0200] rev 1072
cleanup: replace naked excepts with more specific ones
[ original upstream message ]
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:00:53 +0200] rev 1071
cleanup: replace hasattr() usage with getattr() in hghave
[ original upstream message ]
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 15:56:23 +0200] rev 1070
cleanup: "x != None" -> "x is not None"
[ original upstream message ]
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 15:54:54 +0200] rev 1069
cleanup: eradicate long lines
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Tue, 08 May 2012 15:46:51 -0500] rev 1068
tests: set a standard terminal type
This makes test-ui-color.py happy when run in a dumb terminal.
Spotted by Jesse Glick <jesse.glick@oracle.com>
[ original upstream message ]
Patrick Mezard <patrick@mezard.eu> [Thu, 10 May 2012 18:21:15 +0200] rev 1067
repair: no need to call filterunknown() in strip()
Calling strip() will eventually trigger localrepo.destroyed() which will
invalidate _parseroots. It will call filterunknown() upon reload.
Changes to test-keyword.t are related to commit --debug running after
either qpop or rollback.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 29 Apr 2012 16:58:42 +0100] rev 1066
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 28 Apr 2012 01:22:47 +0200] rev 1065
tests: don't require 'hg' without extension on windows
Hackable uses hg.exe instead.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 06 Apr 2012 22:53:24 +0200] rev 1064
Merge with stable
Patrick Mezard <patrick@mezard.eu> [Wed, 04 Apr 2012 15:59:56 +0200] rev 1063
hghave: remove symlink test made useless by ac0da5caebec
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 04 Apr 2012 09:31:47 +0200] rev 1062
Merge with stable
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 ]