Christian Ebert <blacktrash@gmx.net> [Thu, 18 Oct 2012 16:28:04 +0200] rev 1147
Move commands.inferrepo for code maintenance
Christian Ebert <blacktrash@gmx.net> [Wed, 17 Oct 2012 17:19:48 +0200] rev 1146
Merge with stable
Siddharth Agarwal <sid0@fb.com> [Tue, 16 Oct 2012 11:43:15 -0700] rev 1145
commands: don't infer repo for commands like update (issue2748)
Maintain a whitelist of commands to infer the repo for instead. The whitelist
contains those commands that take file(s) in the working dir as arguments.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 12 Oct 2012 23:47:40 +0200] rev 1144
Merge with stable
Bryan O'Sullivan <bryano@fb.com> [Thu, 11 Oct 2012 16:05:14 -0700] rev 1143
tests: correctly report a test killed by a signal
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 12 Oct 2012 23:46:19 +0200] rev 1142
Merge with default
Christian Ebert <blacktrash@gmx.net> [Fri, 10 Aug 2012 20:37:20 +0100] rev 1141
Avoid traceback caused by bogus date input (issue3344)
Wrap datefilters which split date texts with util.parsedate.
We do not abort, as the bogus date must have been given by the user.
Christian Ebert <blacktrash@gmx.net> [Thu, 11 Oct 2012 19:46:25 +0200] rev 1140
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 26 Sep 2012 00:56:27 +0200] rev 1139
run-tests: allow test output lines to be terminated with \r in addition to \n
str.splitlines could not be used in 546c76e5a3e6, but _now_ we would like to
have lines with other line endings than \n.
Some fine occurences of (esc) markup of \r is replaced with multiple lines
ending with '\r (no-eol) (esc)'. That is no win but also no significant loss.
This change makes it possible to drop filtercr.py - _that_ is a win.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Wed, 10 Oct 2012 01:37:53 +0200] rev 1138
run-tests: use more explicit criteria for detecting no-eol
Preparing for the situation where there could be unsalted lines not terminated
with \n.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 10 Oct 2012 11:31:01 +0200] rev 1137
Merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 04 Oct 2012 16:52:20 +0200] rev 1136
subrepo, hghave: use "svn --version --quiet" to determine version number
svn --version --quiet is implemented since svn 0.14.1 (August 2002)
and prints just the version number, not the long output (21 lines)
of "svn --version".
Additionally I expect this output format to be more stable, at least
it is not changed with different translations.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Wed, 10 Oct 2012 01:30:45 +0200] rev 1135
run-tests: drop unused enumerate
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 19 Sep 2012 00:59:23 +0100] rev 1134
Merge with stable
Patrick Mezard <patrick@mezard.eu> [Sun, 09 Sep 2012 12:31:14 +0200] rev 1133
test-http-branchmap: enable on Windows
Tests using "hg serve --daemon" are currently disabled on Windows for
lack of proper kill utility. The one shipped with MinGW operates on
internal process identifiers and not on the ones recorded by hg serve.
Fortunately we can replace most of them by calls to killdaemons.py.
This patch is a proof of concept on how to run these tests on Windows.
The plan is:
- Check test-http-branchmap.t does not fail/hang on the buildbot
- Convert all kill utility calls to killdaemons.py calls.
- Add a rule in check-code.py to forbid kill calls, or ignore the
remaining ones (test-hup.t, etc.).
- Possibly drop the 'serve' rule from hghave.
The:
listening at http://*:$HGPORT1/
line does not appear on Windows because the detached process can no
longer write on its parent streams. Grepping hg serve stdout directly
causes the parent process to never return and hangs the test. This is a
bug, but I have no simple solution and prefer to pay this small price
and enable hg serve tests on Windows.
[ orginal upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 13 Sep 2012 23:02:29 +0100] rev 1132
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Sat, 28 Jul 2012 23:28:17 +0200] rev 1131
tests: unset variable HG if it is set
When hg tries to call itself it can call a different hg executable when this
variable is set. Some tests fail when the called hg version is different.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 12 Sep 2012 18:44:43 +0100] rev 1130
Merge with stable
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:18 -0700] rev 1129
spelling: destination
[ original upstream message ]
Patrick Mezard <patrick@mezard.eu> [Mon, 20 Aug 2012 22:36:51 +0200] rev 1128
killdaemons: take file argument explicitely
It makes it easier to use as a generic replacement for kill utility,
mostly for Windows tests.
[ original upstream message ]
Patrick Mezard <patrick@mezard.eu> [Sun, 19 Aug 2012 18:06:15 +0200] rev 1127
killdaemons: add windows implementation
[ original upstream message ]
Patrick Mezard <patrick@mezard.eu> [Sun, 19 Aug 2012 16:41:09 +0200] rev 1126
run-tests: do not duplicate killdaemons() code
[ original upstream message ]
Nicolas Dumazet <nicdumz.commits@gmail.com> [Wed, 14 Apr 2010 17:58:10 +0900] rev 1125
pylint, pyflakes: remove unused or duplicate imports
[ original upstream message, already done for run-tests.py ]
Alejandro Santos <alejolp@alejolp.com> [Sun, 05 Jul 2009 11:01:30 +0200] rev 1124
compat: use open() instead of file() everywhere
[ original upstream message only for killdaemons here ]
Matt Mackall <mpm@selenic.com> [Fri, 07 Nov 2008 16:28:53 -0600] rev 1123
tests: add killdaemons helper script
[ orgininal upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 30 Aug 2012 16:18:03 +0100] rev 1122
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 15 Aug 2012 22:38:42 +0200] rev 1121
fix trivial spelling errors
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 09 Aug 2012 12:52:34 +0100] rev 1120
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 08 Aug 2012 18:10:16 +0200] rev 1119
check-code: fix check for trailing whitespace on sh command lines
The $ has been without necessary escaping since introduced in c7d23b4ca4ba.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 04 Jul 2012 12:06:34 +0100] rev 1118
Merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Tue, 03 Jul 2012 18:02:07 +0200] rev 1117
test-keyword: adapt for Windows
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Wed, 04 Jul 2012 02:04:58 +0200] rev 1116
tests: don't use dates before epoch in test-keyword.t
Timezone offsets of less than a minute is not shown but can cause displayed
dates to be before epoch start - and dates before epoch start is not shown
correctly on Windows (see also 4d5b12a5517b).
These 'negative' dates could be considered undefined behaviour so we don't care
and swap the tests values for timestamp and timezone.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 04 Jul 2012 12:04:06 +0100] rev 1115
Merge with default
Christian Ebert <blacktrash@gmx.net> [Thu, 28 Jun 2012 23:19:35 +0100] rev 1114
Use ui.formatter for kwfiles output
Christian Ebert <blacktrash@gmx.net> [Fri, 22 Jun 2012 13:40:23 +0100] rev 1113
Merge with stable
Joshua Redstone <joshua.redstone@fb.com> [Fri, 18 May 2012 12:45:47 -0700] rev 1112
strip: incrementally update the branchheads cache after a strip
This function augments strip to incrementally update the branchheads cache
rather than recompute it from scratch. This speeds up the performance of strip
and rebase on repos with long history. The performance optimization only
happens if the revisions stripped are all on the same branch and the parents of
the stripped revisions are also on that same branch.
This adds a few test cases, particularly one that reproduces the extra heads
that mpm observed.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 21 Jun 2012 14:04:15 +0100] rev 1111
Merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 07 Nov 2011 13:46:41 -0600] rev 1110
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 - missed change to heredoctest ]
Brodie Rao <brodie@bitheap.org> [Tue, 01 Nov 2011 12:25:54 -0700] rev 1109
tests: fix readline escape characters in heredoctest.py/test-url.py
This fix mirrors the changes made to test-doctest.py in b856071435f7
and 967adcf5910d.
Without this change, tests running heredoctest.py can fail on certain
versions of OS X when TERM is set to xterm-256color:
$ /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -m heredoctest <<EOF
> >>> open('b', 'w').write('this' * 1000)
> EOF
+ \x1b[?1034h (no-eol) (esc)
A similar problem occurs with test-url.py:
$ ./run-tests.py test-url.py
--- .../tests/test-url.py.out
+++ .../tests/test-url.py.err
@@ -0,0 +1 @@
+
ERROR: .../test-url.py output changed
!
Failed test-url.py: output changed
# Ran 1 tests, 0 skipped, 1 failed.
[ original upstream message ]
Idan Kamara <idankk86@gmail.com> [Thu, 13 Oct 2011 17:54:35 +0200] rev 1108
tests: remove temp doctest file when finished running it
[ original upstream message ]
Idan Kamara <idankk86@gmail.com> [Wed, 12 Oct 2011 22:01:13 +0200] rev 1107
tests: add helper script for processing doctests read from stdin
Writes stdin to a temp file and doctests it.
In the future we might want to spare the temp file and directly call into
doctest.
Also, with some tweaking it seems possible to adjust the line numbers reported
in an error report so they match the ones in the original file.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Thu, 21 Jun 2012 03:05:02 +0200] rev 1106
tests: prepare get-with-headers.py for MSYS
get-with-headers.py took the http GET parameter as a command line parameter
that had to start with '/'. MSYS on windows will mangle such paths.
Instead of applying a workaround everywhere (such as an extra '/') we let
get-with-headers.py add the mandatory '/'. That is consistent with the
url path handling in the Mercurial url class.
A few tests sent 'GET ?cmd=...' which is invalid. They will now send 'GET
/?cmd=...'.
This will not enable any tests for being run on windows - only remove one
reason they were disabled.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Wed, 20 Jun 2012 23:41:21 +0200] rev 1105
tests: hghave outer-repo should be true even if a bad repo is found
Only the abort message 'no repository found' is a reliable indication that
there is no outer repo.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Wed, 20 Jun 2012 23:41:21 +0200] rev 1104
tests: add missing no-outer-repo requirements
Outer repos (if any) will now never be touched by the tests. But it is better
to run without any repos around the tmp directory.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 19 Jun 2012 16:00:31 +0100] rev 1103
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 15 Jun 2012 00:02:27 +0200] rev 1102
tests: introduce hghave hardlinks
Some tests can't be run on FAT filesystems because it doesn't support
hardlinks.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Fri, 15 Jun 2012 00:02:27 +0200] rev 1101
tests/hghave: test that the inotify unix socket actually can be created
Inotify do not work on FAT filesystems.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Fri, 15 Jun 2012 00:02:27 +0200] rev 1100
tests/hghave: test that a fifo actually can be created on the filesystem
Some tests were failing on FAT filesystems.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Fri, 15 Jun 2012 00:02:27 +0200] rev 1099
tests/hghave: consistently use dir='.', prefix=tempprefix for tempfiles
Some feature tests were done in the wrong directory and could thus give the
wrong result.
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Thu, 14 Jun 2012 12:54:54 +0200] rev 1098
tests/hghave: extract hghave.py
hghave is degraded to a bare script, moving the functions to hghave.py
so they can be shared later on.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 11 Jun 2012 13:56:02 +0100] rev 1097
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 11 Jun 2012 01:40:51 +0200] rev 1096
tests: add missing trailing 'cd ..'
Many tests didn't change back from subdirectories at the end of the tests ...
and they don't have to. The missing 'cd ..' could always be added when another
test case is added to the test file.
This change do that tests (99.5%) consistently end up in $TESTDIR where they
started, thus making it simpler to extend them or move them around.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Jun 2012 18:50:42 +0200] rev 1095
tests: convert some 'hghave symlink' to #if
This will enable some tests for windows.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Jun 2012 18:50:42 +0200] rev 1094
tests: use the right directory for running hghave from run-tests.py
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Jun 2012 18:50:42 +0200] rev 1093
tests: make .t tests stop immediately if a cd fails
This prevents tests from escaping from TESTTMP as a consequence of a failing
directory creation.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 10 Jun 2012 16:32:22 +0100] rev 1092
Merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Fri, 08 Jun 2012 15:11:05 +0200] rev 1091
tests/hghave: implement #if true / #if false
For unconditionally testing / skipping a section. Useful for testing the test
infrastructure in test-run-tests.t and for debugging/developing tests.
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Sun, 10 Jun 2012 03:05:59 +0200] rev 1090
tests/run-tests: avoid C:/ in arguments
MSYS replaces C:/... in arguments with C;... as it interprets the C:/ as a
colon separated POSIX path list. The colon is replaced with ; (path separator
on Windows) according to
http://www.mingw.org/wiki/Posix_path_conversion
So we must not replace \ with / for neither $TESTTMP nor $TESTDIR, but we
have to keep replacing \ with / for the Popen4 call of function hghave. If we
don't do the latter, test-run-tests.t will fail with
$ python run-tests.py --local test-run-tests.t
--- C:\Users\adi\hgrepos\hg-main\tests\test-run-tests.t
+++ C:\Users\adi\hgrepos\hg-main\tests\test-run-tests.t.err
@@ -70,6 +70,7 @@
tested
#else
$ echo skipped
+ skipped
#endif
#if false
An additional tweak in test-ssh.t is needed that globs away an encoded path,
as it can't be translated back to $TESTTMP, because the backslashes in the
output have been already encoded as %5C.
This patch makes test-ssh.t pass in MSYS on Windows.
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Sun, 27 May 2012 18:25:04 +0200] rev 1089
hghave: wrap command in 'sh -c "..."' for has_pyflakes()
Without this, the has_pyflakes() check always fails in MSYS on Windows.
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Fri, 08 Jun 2012 15:11:05 +0200] rev 1088
tests/run-tests: use $TMP on Windows (issue3490)
This is just a short-term workaround for that issue. More work needs to be
done on scmutil.canonpath & friends.
$TMP on Windows is specified to be defined, and it has correct casing, so we
can use that as the default dir for tempfile.mkdtemp on Windows.
[ original upstream message ]
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 ]
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