Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 15448
run-tests: convert windows paths to unix
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 15447
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
'/'.
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:24:53 +0100] rev 15446
tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:55 +0100] rev 15445
tests: use 'hghave system-sh' to guard tests that requires sh in system()
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:55 +0100] rev 15444
tests: use 'hghave no-windows' to avoid testing reserved file names on windows
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:55 +0100] rev 15443
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'.
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:54 +0100] rev 15442
tests: use 'hghave execbit' for tests that manipulate x bit in file system
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:54 +0100] rev 15441
tests: use 'hghave symlink' for tests using symlinks
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:54 +0100] rev 15440
windows: use umask 022 in debugstate output
debugstate would always report files as mode 666 or 777 on Windows.
umask is not used on Windows, but faking and using a defalt value of 022
matches what the test suite uses on Unix.
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:53 +0100] rev 15439
dispatch: exit with 8-bit exit code
The exit code returned from a program to the shell is unsigned 8-bit, but
Mercurial would sometimes try to exit with negative numbers or None. sys.exit
on Unix will convert that to 8-bit exit codes, but on Windows negative values
showed up as 0.
The exit code is now explicitly converted to unsigned 8-bit.
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:53 +0100] rev 15438
tests: don't let time go back before 0 o'clock in bisect3.t
Windows agree that it was
Thu Jan 01 00:00:00 1970 +0000
but it also claims that it was
Thu Dec 31 23:59:59 1969 -0000
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 02:49:00 +0100] rev 15437
diff: always use / in paths in diff
Subrepo diffs would sometimes use backslash on windows.
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 02:49:00 +0100] rev 15436
cmdutil: don't use repr on paths in pathauditor - it looks strange on windows
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 02:44:04 +0100] rev 15435
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.
Matt Mackall <mpm@selenic.com> [Mon, 07 Nov 2011 13:46:41 -0600] rev 15434
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.
Matt Mackall <mpm@selenic.com> [Mon, 07 Nov 2011 13:46:39 -0600] rev 15433
merge with crew
Martin Geisler <mg@aragost.com> [Fri, 04 Nov 2011 10:39:04 +0100] rev 15432
merge with stable
Martin Geisler <mg@aragost.com> [Fri, 04 Nov 2011 10:32:13 +0100] rev 15431
merge with main
Martin Geisler <mg@aragost.com> [Fri, 04 Nov 2011 10:31:38 +0100] rev 15430
merge with main
David M. Carr <david@carrclan.us> [Thu, 03 Nov 2011 23:12:31 -0400] rev 15429
subrepo: improve help for svn subrepo support
Add details on which commands are supported for Subversion subrepos.
David M. Carr <david@carrclan.us> [Thu, 03 Nov 2011 23:12:30 -0400] rev 15428
subrepo: improve help for git subrepo support
Add details on which commands are supported for git subrepos.
David M. Carr <david@carrclan.us> [Thu, 03 Nov 2011 23:11:40 -0400] rev 15427
subrepo: update help for commit to reflect new default behavior
Update the subrepo help to be consistent with the new default behavior,
which is to abort if any subrepo is dirty.
Martin Geisler <mg@aragost.com> [Thu, 03 Nov 2011 14:40:58 +0100] rev 15426
merge with stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 03 Nov 2011 10:52:58 -0200] rev 15425
i18n: disable translations with conflicting prompt keys (issue3082)
This is just a stopgap until a proper solution is implemented.
Matt Mackall <mpm@selenic.com> [Sun, 06 Nov 2011 14:40:31 -0600] rev 15424
log: hide hidden option until it actually does something
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Nov 2011 00:40:47 +0100] rev 15423
phases: add a very simple test
Note that the expected output is wrong as is should be phase-1. But
the machinery to plant new root is to come in later commit.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 09 Oct 2011 14:25:04 +0200] rev 15422
phases: add a phase template keyword
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 18 Oct 2011 18:25:53 +0200] rev 15421
phases: add a phase method to context
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Nov 2011 00:20:20 +0100] rev 15420
phases: add a cache allowing to know in which phase a changeset is
Matt Mackall <mpm@selenic.com> [Sun, 06 Nov 2011 11:57:24 -0600] rev 15419
phases: handle errors other than ENOENT appropriately
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Nov 2011 00:16:24 +0100] rev 15418
phases: basic I/O logic
Add function to read and write phase roots. Add a _phaseroots filecache on
localrepo class to access the phaseroots data.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 03 Nov 2011 23:49:14 +0100] rev 15417
phases: Minimal first add.
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 15:18:10 -0500] rev 15416
run-tests: minor cleanups
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 15:08:45 -0500] rev 15415
run-tests: pull out line matching function
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:51:04 -0500] rev 15414
run-tests: pull out unified matching funcs
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:48:56 -0500] rev 15413
tests: add some comments to the unified test code
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:30:00 -0500] rev 15412
tests: rewrite inline Python support
Tests with inline Python could turn '>>>' into their underlying python
invocation if the test got updated with -i.
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 12:58:30 -0500] rev 15411
merge with stable
David M. Carr <david@carrclan.us> [Wed, 02 Nov 2011 01:17:11 -0400] rev 15410
add: support adding explicit files in subrepos
Change the behavior of the add command such that explicit paths in
subrepos are always added. This eliminates the previous behavior
where if you called "hg add" for an explicit path in a subrepo
without specifying the -S option, it would be silently ignored.
If you specify patterns, or no arguments at all, the -S option
will still be needed to activate recursion into subrepos.
David M. Carr <david@carrclan.us> [Tue, 01 Nov 2011 23:53:29 -0400] rev 15409
tests: add test for add of explicit path in subrepo
Add test coverage for the existing behavior where adds of explicit paths in
subrepos are silently ignored. This is in preparation for changing the
behavior of the add command to have better support for subrepos.
Hao Lian <hao@fogcreek.com> [Thu, 03 Nov 2011 10:59:32 -0400] rev 15408
largefiles: ensure destination directory exists before findfile links to there
When (1) findfile links a largefile from the user cache to the store
and (2) the store directory doesn't exist yet, findfile errors out. A
simple call to util.makedirs fixes it.
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 11:24:55 -0500] rev 15407
misc: adding missing file close() calls
Spotted by Victor Stinner <victor.stinner@haypocalc.com>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 20 Oct 2011 00:37:34 +0200] rev 15406
bisect: remove superfluous parameter in label()
The argument is not used. This is a left-over of non-published
iterations, and it passed through.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Matt Mackall <mpm@selenic.com> [Wed, 02 Nov 2011 15:06:40 -0500] rev 15405
log: hide some low-utility options
Matt Mackall <mpm@selenic.com> [Wed, 02 Nov 2011 13:51:16 -0500] rev 15404
localrepo: convert various repo.set() users to repo.revs()
Matt Mackall <mpm@selenic.com> [Wed, 02 Nov 2011 13:37:34 -0500] rev 15403
localrepo: add revs helper method
Matt Mackall <mpm@selenic.com> [Tue, 01 Nov 2011 16:49:30 -0500] rev 15402
merge with stable, reopen default branch
Matt Mackall <mpm@selenic.com> [Tue, 01 Nov 2011 15:37:00 -0500] rev 15401
Added signature for changeset 41453d55b481
Matt Mackall <mpm@selenic.com> [Tue, 01 Nov 2011 15:36:56 -0500] rev 15400
Added tag 2.0 for changeset 41453d55b481
Matt Mackall <mpm@selenic.com> [Tue, 01 Nov 2011 15:19:37 -0500] rev 15399
dirstate: don't fail when dropping a not-tracked file (issue3080)
Complex merges with divergent renames can cause a file to be 'moved'
twice, causing dirstate.drop() to be called twice. Rather than try to
ensure there are no unexpected corner cases where this can happen, we
simply ignore drops of files that aren't tracked.
Brodie Rao <brodie@bitheap.org> [Tue, 01 Nov 2011 12:25:54 -0700] rev 15398
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.
Matt Mackall <mpm@selenic.com> [Tue, 01 Nov 2011 12:49:06 -0500] rev 15397
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 31 Oct 2011 11:27:16 -0200] rev 15396
i18n-pt_BR: synchronized with a53888685a6c
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 31 Oct 2011 11:24:37 -0200] rev 15395
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 31 Oct 2011 20:58:49 +0900] rev 15394
i18n-ja: synchronized with b357a972d6cd
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 31 Oct 2011 21:06:18 +0900] rev 15393
minirst: use unicode string as intermediate form for replacement
# this change redones part of 521c8e0c93bf, backed out by 0ad0ebe67815
Some character encodings use ASCII characters other than
control/alphabet/digit as a part of multi-bytes characters, so direct
replacing with such characters on strings in local encoding causes
invalid byte sequences.
[mpm: test changed to simple doctest]
Matt Mackall <mpm@selenic.com> [Mon, 31 Oct 2011 15:41:39 -0500] rev 15392
util: add a doctest for empty sha() calls
Hao Lian <hao@fogcreek.com> [Thu, 20 Oct 2011 17:24:59 -0400] rev 15391
largefiles: replace tempfile.NamedTemporaryFile with tempfile.mkstemp
This is consistent with the rest of Mercurial's code, mirroring the
try-finally-unlink structure elsewhere. Furthermore, it fixes the case where
largefiles throws an IOError on Windows when the temporary file is opened a
second time by copytocacheabsolute.
This patch creates the temporary file in the repo's largefiles store rather than
/tmp, which might be a different filesystem.
Matt Mackall <mpm@selenic.com> [Mon, 31 Oct 2011 14:22:11 -0500] rev 15390
util: allow sha1() with no args
Normally this works because we replace util.sha1 with hashlib.sha1
after first use, but if the first user doesn't provide an arg, it
breaks.
Matt Mackall <mpm@selenic.com> [Mon, 31 Oct 2011 14:22:11 -0500] rev 15389
tests: use md5sum.py instead of sha1sum, add check
Yuya Nishihara <yuya@tcha.org> [Mon, 31 Oct 2011 00:42:32 +0900] rev 15388
setup: set whole env for running hg even if .hg doesn't exist (issue3073)
The issue was partially fixed by b357a972d6cd, but there were missing
variables to run build_hgextindex.
Matt Mackall <mpm@selenic.com> [Sun, 30 Oct 2011 12:10:11 -0500] rev 15387
keyword: backout realpath change (issue3071)
Matt Mackall <mpm@selenic.com> [Sun, 30 Oct 2011 12:10:09 -0500] rev 15386
strip: backout 73307643a09f (issue3077)
Matt Mackall <mpm@selenic.com> [Sat, 29 Oct 2011 17:38:13 -0500] rev 15385
largefiles: avoid checking requirements on every command
When largefiles is enabled, commands on large repositories which don't
require largefiles could be slowed down substantially. Disable
checking this for every command.
Na'Tosha Bard <natosha@unity3d.com> [Fri, 28 Oct 2011 18:50:54 +0200] rev 15384
largefiles: shorten test suite by using log --template
Na'Tosha Bard <natosha@unity3d.com> [Fri, 28 Oct 2011 18:48:24 +0200] rev 15383
largefiles: fix bad bug where transplanting a changeset with a largefile will result in an old largefile being comitted later on
Na'Tosha Bard <natosha@unity3d.com> [Fri, 28 Oct 2011 18:17:44 +0200] rev 15382
largefiles: test that a largefile cannot accidentally be re-added as a regular file
Matt Mackall <mpm@selenic.com> [Sat, 29 Oct 2011 11:02:23 -0500] rev 15381
backout dbdb777502dc (issue3077) (issue3071)
Using util.realpath turns out to create complex issues on both Mac and
Windows. Back this change out for the release.
Martin Geisler <mg@aragost.com> [Fri, 28 Oct 2011 15:00:21 +0200] rev 15380
largefiles: fix uppercase in abort message
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 28 Oct 2011 12:59:50 +0200] rev 15379
Makefile: adjust example, test-merge1 is now test-merge1.t
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 28 Oct 2011 12:44:19 +0200] rev 15378
tests: use $DAEMON_PIDS and killdaemons in largefiles test
$DAEMON_PIDS is used by tests to make sure there will be no leftover
processes, the cycling through ports is needed because they are not
available for a new bind that quickly on some systems.
There are not enough $HGPORT variables available for each hg serve,
so use the killdaemons script before reusing ports.
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 28 Oct 2011 11:16:39 +0200] rev 15377
tests: make largefiles test use $HGPORT instead of 8001
Matt Mackall <mpm@selenic.com> [Thu, 27 Oct 2011 18:35:07 -0500] rev 15376
merge in another fix on the wrong branch
Brodie Rao <brodie@bitheap.org> [Thu, 27 Oct 2011 11:57:08 -0700] rev 15375
hgweb: fix dynamic date calculation not working under Safari
While Chrome, Firefox, and IE 6+ support the current date format being
passed to Date(), Safari doesn't:
> new Date('Mon Oct 24 13:58:01 2011 +0200')
Invalid Date
However, the rfc822date format--officially supported by
ECMAScript[1]--does work:
> new Date('Mon, 24 Oct 2011 13:58:01 +0200')
Mon Oct 24 2011 04:58:01 GMT-0700 (PDT)
This change replaces all instances of {date|date} in HTML with
{date|rfc822date}. For elements that only have the "age" class,
there's no outward change for users with JavaScript enabled. For
elements with both the "age" and "date" classes, the full date
displayed uses the new format.
Tested in IE 6, Safari 5.1.1, Google Chrome 15, and Firefox 7.0.1.
[1]: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/parse
Matt Mackall <mpm@selenic.com> [Thu, 27 Oct 2011 18:15:34 -0500] rev 15374
tests: fix spurious largefiles test failure on Cygwin
Peer Stritzinger <peer@stritzinger.com> [Wed, 26 Oct 2011 18:47:12 +0200] rev 15373
revert: fix missing removes when parent was changed in dirstate
When dirstate parent is changed with dirstate.setparent before a
revert so it no longer points to where the dirstate refered to, revert
does not remove all files it should:
Revert to a different revision needs also to remove files that are not
found through disptables and not in the context or parent manifest.
Matt Mackall <mpm@selenic.com> [Thu, 27 Oct 2011 17:22:04 -0500] rev 15372
check-code: fix issues with finding patterns in unified tests, fix tests
- old-style patterns without ^ were getting improperly anchored
- finditer was matching against beginning of line poorly
- \s was matching newlines
- [^x] was matching newlines
so we:
- remove earlier hacks for multiline matching
- fix unified test anchoring by adding .*
- replace \s with [ \t]
- replace [^x] with [^\nx]
- force all matches into multiline mode so ^ anchors work
This uncovers a number of test issues that are then repaired.
Hao Lian <hao@fogcreek.com> [Tue, 25 Oct 2011 11:45:28 -0400] rev 15371
largefiles: remove lfutil.createdir, replace calls with util.makedirs
Eli Carter <eli.carter@tektronix.com> [Wed, 26 Oct 2011 14:22:19 -0500] rev 15370
largefiles: fix typo
Eli Carter <eli.carter@tektronix.com> [Wed, 26 Oct 2011 13:48:33 -0500] rev 15369
largefiles: bugfix for symlink handling with testcase
The code was using the size of a symlink's target, thus wrongly making symlinks
to large files into largefiles themselves. This can be demonstrated by
deleting the symlink and then doing an 'hg up' or 'hg up -C' to restore the
symlink.
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Wed, 26 Oct 2011 22:35:15 +0200] rev 15368
i18n-it: fixed wrong message
Matt Mackall <mpm@selenic.com> [Wed, 26 Oct 2011 12:56:27 -0500] rev 15367
setup: set env global earlier (3073)
Greg Ward <greg@gerg.ca> [Tue, 25 Oct 2011 08:56:59 -0400] rev 15366
largefiles: test reverting largefiles (coverage creeping ever upwards)
This reveals a small bug: revert reports "reverting .hglf/largefile"
when it really should report "reverting largefile". I don't see an
easy fix, though (short of using ui.pushbuffer() to interfere with
revert's output).
Greg Ward <greg@gerg.ca> [Mon, 24 Oct 2011 21:33:23 -0400] rev 15365
largefiles: test "update --check"
It works fine; I'm just getting the test coverage up.
Matt Mackall <mpm@selenic.com> [Wed, 26 Oct 2011 12:56:27 -0500] rev 15364
tests: fix check-code detection of anchored expressions, fix echo -n usage
Patrick Mezard <pmezard@gmail.com> [Mon, 24 Oct 2011 13:41:19 +0200] rev 15363
diffstat: be more picky when marking file as 'binary' (issue2816)
The 'Bin' marker was added to every changed file for which we could not find
any diff changes. This included binary files but also copy/renames and mode
changes. Since Mercurial regular diff format emits a 'Binary file XXX has
changed' line when fed with binary files, we use that and the usual git marker
to tell them from other cases. In particular, new empty files are no longer
reported as binary.
Still, this fix is not complete since copy/renames/mode changes are now
reported as '0' lines changes, instead of 'Bin'.
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 24 Oct 2011 10:41:10 -0200] rev 15362
i18n-pt_BR: synchronized with b74f74b482d8
Matt Mackall <mpm@selenic.com> [Mon, 24 Oct 2011 17:01:49 -0500] rev 15361
graft: add a test
Matt Mackall <mpm@selenic.com> [Mon, 24 Oct 2011 16:57:14 -0500] rev 15360
graft: fix duplicate filter logic
Matt Mackall <mpm@selenic.com> [Mon, 24 Oct 2011 16:57:14 -0500] rev 15359
graft: fix duplicate scan message
Matt Mackall <mpm@selenic.com> [Mon, 24 Oct 2011 16:57:14 -0500] rev 15358
util: don't complain about '..' in path components not working on Windows
Matt Mackall <mpm@selenic.com> [Mon, 24 Oct 2011 12:09:12 -0500] rev 15357
graft: fix formatting of message
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 24 Oct 2011 13:58:01 +0200] rev 15356
largfiles: drop unused import
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 24 Oct 2011 13:51:24 +0200] rev 15355
consistency: use util.realpath instead of os.path.realpath where useful
exceptions:
hg: os.path.realpath used before util can be imported
tests/run-tests.py: may not import mercurial modules
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 24 Oct 2011 13:54:59 +0200] rev 15354
keyword: use util.realpath instead of os.path.realpath
This makes test-keyword.t pass on Python 2.4.1 (e.g. Debian sarge)
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 24 Oct 2011 13:32:23 +0200] rev 15353
posix: workaround for os.path.realpath bug in Python 2.4.1 and before
os.path.realpath didn't resolve symlinks that were the first component of
the path, see http://bugs.python.org/issue1213894
Martin Geisler <mg@aragost.com> [Mon, 24 Oct 2011 10:08:58 +0200] rev 15352
largefiles: improve markup in module help text
Martin Geisler <mg@aragost.com> [Mon, 24 Oct 2011 09:54:02 +0200] rev 15351
largefiles: remove redundant documentation
The extension help text already covered what was in usage.txt and
design.txt is now moved to the wiki:
http://mercurial.selenic.com/wiki/LargefilesExtension
Greg Ward <greg@gerg.ca> [Sun, 23 Oct 2011 14:25:48 -0400] rev 15350
largefiles: use ui.configpath() where appropriate
Greg Ward <greg@gerg.ca> [Sun, 23 Oct 2011 10:23:31 -0400] rev 15349
largefiles: drop more unnecessary compatibility checks
Matt Mackall <mpm@selenic.com> [Sun, 23 Oct 2011 16:32:27 -0500] rev 15348
windows: sanity-check symlink placeholders
On Windows, we store symlinks as plain files with the link contents.
Via user error or NFS/Samba assistance, these files often end up with
'normal' file contents. Committing these changes thus gives an
invalid symlink that can't be checked out on Unix.
Here we filter out any modified symlink placeholders that look
suspicious when computing status:
- more than 1K (looks more like a normal file)
- contain NULs (not allowed on Unix, probably a binary)
- contains \n (filenames can't contain \n, very unusual for symlinks,
very common for files)
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 23 Oct 2011 21:59:15 +0200] rev 15347
largefiles: use util.sha1() instead of hashlib.sha1() everywhere
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 23 Oct 2011 21:22:55 +0200] rev 15346
tests: check for svn >= 1.3 and >= 1.5 in tests that require those versions
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 22 Oct 2011 23:42:48 +0200] rev 15345
convert: add missing import of util, needed for svn < 1.6
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 22 Oct 2011 23:21:38 +0200] rev 15344
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.
Greg Ward <greg@gerg.ca> [Sat, 22 Oct 2011 15:39:51 -0400] rev 15343
largefiles: test "lfconvert --to-normal" with rename/remove/merge
This gets us very close to full test coverage of lfconvert. The only
features not tested are:
- .hgtags conversion
- abort when largefile becomes symlink
Greg Ward <greg@gerg.ca> [Sat, 22 Oct 2011 15:16:52 -0400] rev 15342
largefiles: test lfconvert with rename, remove, and merge
Greg Ward <greg@gerg.ca> [Sat, 22 Oct 2011 14:52:05 -0400] rev 15341
largefiles: beef up test-lfconvert.t so it's more thorough
- instead of converting a single changeset with a single file, convert
two changesets which each add a mix of normal and large files
- make one of the large files not-so-large, but identified as large
by filename
- use shorter, simpler filenames
- put some files in a subdirectory
- test that file contents are correctly converted
- drop unnecessary cleanup step
Greg Ward <greg@gerg.ca> [Sat, 22 Oct 2011 14:20:17 -0400] rev 15340
largefiles: rearrange how lfconvert detects non-local repos
Mainly this is so we can test that code; it has the side benefit of not
requiring network I/O to reject non-local repo URLs.
Greg Ward <greg@gerg.ca> [Sat, 22 Oct 2011 14:17:19 -0400] rev 15339
largefiles: test lfconvert error handling; remove redundant code
Greg Ward <greg@gerg.ca> [Sat, 22 Oct 2011 13:48:56 -0400] rev 15338
largefiles: extract test-lfconvert.t from test-largefiles.t
test-largefiles.t is getting pretty big, and there's lots more to test
in lfconvert. And lfconvert is a fairly orthogonal feature to the
rest of largefiles.
Matt Mackall <mpm@selenic.com> [Sat, 22 Oct 2011 16:12:33 -0500] rev 15337
windows: recompute flags when committing a merge (issue1802)
Before this patch, Windows always did the wrong thing with exec bits
when committing a merge: consult the flags in first parent.
Now we manually recompute the result of merging flags at commit time,
which almost always does the right thing (except when there are
conflicts between symlink and exec flags).
To do this, we:
- pull flag synthesis out into its own function
- delay building this function unless it's needed
- add a merge case that compares flags in local and other against the ancestor
This has been tested in multiple ways on Linux:
- running the whole test suite with both old and new code in place,
checking for differences in each flags() result
- running the whole test suite while comparing real on-disk flags
against synthetic ones for merges
- test-issue1802 (from Martin Geisler) which disables exec bit
checking on Unix
Andrew Pritchard <awpritchard@gmail.com> [Fri, 21 Oct 2011 15:09:33 -0500] rev 15336
largefiles: test interaction between largefiles and vanilla clients and servers
This reintroduces tests for the case described by issue3066, among others:
- vanilla clients and servers should still be able to talk to largefiles
clients and servers about vanilla repos
- vanilla clients should not attempt to clone largefiles repos over http and
should report a useful error message (issue3066; this appears to work
correctly)
- vanilla clients should not attempt to clone largefiles repos over ssh, again
with a useful error message
- largefiles clients should not attempt to push largefile changes to vanilla
servers
Matt Mackall <mpm@selenic.com> [Sat, 22 Oct 2011 11:21:00 -0500] rev 15335
tests: darcs > 2.5 got "smart" about encoding, disable encoding tests
We can no longer convert a repo with mixed encodings, nor can I even
figure out how to get Darcs to display such messages.
Matt Mackall <mpm@selenic.com> [Fri, 21 Oct 2011 16:52:23 -0500] rev 15334
check-code: catch BaseException and os.path.relpath
Matt Mackall <mpm@selenic.com> [Fri, 21 Oct 2011 16:52:16 -0500] rev 15333
largefiles: py2.4 doesn't have BaseException
..and it's the wrong base class anyway.
Greg Ward <greg@gerg.ca> [Thu, 20 Oct 2011 21:56:30 -0400] rev 15332
largefiles: rename lfconvert --tonormal option to --to-normal
Greg Ward <greg@gerg.ca> [Thu, 20 Oct 2011 22:01:05 -0400] rev 15331
largefiles: test lfconvert --tonormal
Greg Ward <greg@gerg.ca> [Thu, 20 Oct 2011 22:24:24 -0400] rev 15330
largefiles: use smaller files in test script
Greg Ward <greg@gerg.ca> [Thu, 20 Oct 2011 22:22:24 -0400] rev 15329
largefiles: test that minimum size can be a float
This allows us to drop the existing test of --lfsize, since it's
redundant with the new test.
Greg Ward <greg@gerg.ca> [Thu, 20 Oct 2011 22:14:11 -0400] rev 15328
largefiles: polish comments in test script
Kevin Bullock <kbullock@ringworld.org> [Fri, 21 Oct 2011 11:10:43 -0500] rev 15327
import: abort usefully if no patch name given
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 21 Oct 2011 14:15:58 +0200] rev 15326
revset: disambiguous the node variable
The module could be confused with the function.
Matt Mackall <mpm@selenic.com> [Fri, 21 Oct 2011 12:12:21 -0500] rev 15325
revset: deal with empty lists in formatspec
Christian Ebert <blacktrash@gmx.net> [Fri, 21 Oct 2011 12:07:27 +0100] rev 15324
keyword: correct grammar in iskwfile docstring
Benjamin Pollack <benjamin@bitquabit.com> [Thu, 20 Oct 2011 17:40:25 -0400] rev 15323
largefiles: remove all uses of os.path.relpath for 2.4 compatibility
Patrick Mezard <pmezard@gmail.com> [Thu, 20 Oct 2011 16:43:31 +0200] rev 15322
mq: avoid data loss upon qfold + qmv (issue3058)
When renaming a patch A as B where B was previously qfolded into A and
therefore marked as removed, a versioned MQ would first restore B before
marking it as a copy of A, thus losing A changes. The undelete() call is
probably a left-over, wctx.copy() explicitely handles the case where the
destination is removed.
Also note that status command represents "hg rm b; hg mv a b" as:
A b
a
R a
which explains the first hunk in test-mq-qrename.t.
Martin Geisler <mg@lazybytes.net> [Fri, 21 Oct 2011 00:33:08 +0200] rev 15321
subrepos: abort commit by default if a subrepo is dirty (BC)
This changeset flips the default value of ui.commitsubrepos setting
from True to False and adds a --subrepos flag to commit.
The commit, status, and diff commands behave like this with regard to
recusion and the ui.commitsubrepos setting:
| recurses | recurses
| by default | with --subrepos
--------+---------------+----------------
commit: | commitsubrepo | True
status: | False | True
diff: | False | True
By changing the default from True to False, the table becomes
consistent in the two columns:
* without --subrepos on the command line, commit will abort if a
subrepo is dirty and status/diff wont show changes inside subrepos.
* with --subrepos, all three commands will recurse.
A --subrepos flag on the command line overrides the config settin.g
Benjamin Pollack <benjamin@bitquabit.com> [Thu, 20 Oct 2011 17:05:13 -0400] rev 15320
largefiles: use XDG and OS X-specific cache locations by default (issue3067)
Benjamin Pollack <benjamin@bitquabit.com> [Wed, 19 Oct 2011 20:40:55 -0400] rev 15319
largefiles: remove redundant any_ function
Eli Carter <eli.carter@tektronix.com> [Thu, 20 Oct 2011 09:35:37 -0500] rev 15318
largefiles: testcase to simulate inter-user clone on local machine
Benjamin Pollack <benjamin@bitquabit.com> [Thu, 20 Oct 2011 13:24:11 -0400] rev 15317
largefiles: make the store primary, and the user cache secondary
This uses the now-properly-named functions and methods from the previous
patch to actually deliver the desired behavior
Benjamin Pollack <benjamin@bitquabit.com> [Thu, 20 Oct 2011 13:24:09 -0400] rev 15316
largefiles: rename functions and methods to match desired behavior
The original intent was that the largefiles would primarily be in the
repository, with the global cache being only that--a cache. The naming
conventions and actual intent have both strayed. In this first patch, the
naming conventions are switched to match the actual intent, as are the
configuration options.
Benjamin Pollack <benjamin@bitquabit.com> [Thu, 20 Oct 2011 13:24:08 -0400] rev 15315
largefiles: fix documentation to match desired behavior
Martin Geisler <mg@aragost.com> [Thu, 20 Oct 2011 17:47:33 +0200] rev 15314
runrst: improve error message when Docutils is missing
Peter Toft told me he had installed a 'python-doc' package instead of
the correct 'python-docutils' and he suggested that we add the URL to
Docutils in our error message.
Eli Carter <eli.carter@tektronix.com> [Tue, 18 Oct 2011 17:28:26 -0500] rev 15313
largefiles: fix newline for lfconverted repos
Eli Carter <eli.carter@tektronix.com> [Wed, 19 Oct 2011 15:37:03 -0500] rev 15312
largefiles: remove 1.9 compat code
Matt Mackall <mpm@selenic.com> [Wed, 19 Oct 2011 17:16:25 -0500] rev 15311
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 18 Oct 2011 09:51:02 -0200] rev 15310
i18n-pt_BR: synchronized with ab341fbb05b1
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 18 Oct 2011 09:50:57 -0200] rev 15309
i18n-pt_BR: msgmerge with ab341fbb05b1
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 18 Oct 2011 09:38:14 -0200] rev 15308
bisect: add i18n contexts
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 18 Oct 2011 09:38:10 -0200] rev 15307
import: add i18n context
Greg Ward <greg@gerg.ca> [Sun, 16 Oct 2011 10:24:45 -0400] rev 15306
largefiles: fix some badly named function parameters
overrides.py contains several functions that temporarily override
scmutil.match(), which always takes a changectx object as the first
parameter. But these overrides name that parameter either 'repo' or
'ctxorrepo', which is misleading. So rename them to 'ctx' and remove
the special type-sensitive handling of the one called 'ctxorrepo'.
Greg Ward <greg@gerg.ca> [Sun, 16 Oct 2011 10:29:51 -0400] rev 15305
largefiles: tidy imports
- no need to defensively import scmutil
- remove duplicate
- unwrap non-long line
Greg Ward <greg@gerg.ca> [Tue, 18 Oct 2011 20:06:23 -0400] rev 15304
largefiles: rename config setting 'size' to 'minsize'
Eli Carter <eli.carter@tektronix.com> [Tue, 18 Oct 2011 16:40:59 -0500] rev 15303
largefiles: include 'largefiles' in converted repository requirements
Hao Lian <hao@fogcreek.com> [Tue, 18 Oct 2011 17:09:03 -0400] rev 15302
largefiles: string formatting typo in basestore._openstore where comma is used instead of modulo
Eli Carter <eli.carter@tektronix.com> [Tue, 18 Oct 2011 11:09:11 -0500] rev 15301
largefiles: fix test typo
Eli Carter <eli.carter@tektronix.com> [Tue, 18 Oct 2011 10:32:12 -0500] rev 15300
convert: fix typo
Eli Carter <eli.carter@tektronix.com> [Tue, 18 Oct 2011 09:59:04 -0500] rev 15299
largefiles: fix typo
Na'Tosha Bard <natosha@unity3d.com> [Wed, 19 Oct 2011 17:40:27 +0200] rev 15298
largefiles: test that merging does not result in wrong versions of largefiles
Na'Tosha Bard <natosha@unity3d.com> [Wed, 19 Oct 2011 17:02:59 +0200] rev 15297
largefiles: expand test suite some more (test rebasing, rollback, update --clean, and verify --large)
Matt Mackall <mpm@selenic.com> [Mon, 17 Oct 2011 17:27:33 -0500] rev 15296
check-code: report suspicious string joins
This detects patterns of the form:
ui.write("this is missing"
"a space at the join\n")
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 17 Oct 2011 19:10:28 -0200] rev 15295
largefiles: fix typo
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 17 Oct 2011 19:10:42 -0200] rev 15294
largefiles: make parameter more i18n-friendly
Mads Kiilerich <mads@kiilerich.com> [Sun, 16 Oct 2011 01:26:06 +0200] rev 15293
grep: correct handling of matching lines without line ending (issue3050)
Matching lines without trailing '\n' was missing the last character.
That seems to have been an unintended side effect of 261a9f47b44b.
The test in dac14cc9711e documents the bad behaviour.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 17 Oct 2011 11:37:59 +0200] rev 15292
discovery: Fix error print mentioning a 'None' branch
When talking to old server discovery use heads of the 'None' branch to refer to
topological heads. This use of None should never make it to the end user.
Matt Mackall <mpm@selenic.com> [Mon, 17 Oct 2011 14:14:28 -0500] rev 15291
largefiles: remove fixme from docs
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 17 Oct 2011 11:54:12 -0200] rev 15290
i18n: import polib 0.6.4 (rev 84598f2b5365)
This version fixes some upstream issues observed during the pt_BR
translation update: #8 (obsolete entries reappearing); an
unidentified issue that made i18n/posplit produce some spurious
messages on the resulting po file; possibly others.
These bugs probably didn't cause actual differences on the translated
output, since an invalid message added to the .mo file wouldn't match
an input message most of the time. But they do pollute the .po file
contents (and diffs), adding some confusion to the translation
process.
db957a72fbd7, 4c50552fc9bc and 8ea51e9e7031 were included upstream,
so the only remaining difference is the "no-check-code" marking.
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 17 Oct 2011 14:47:36 -0200] rev 15289
rebase: fix typos
Matt Mackall <mpm@selenic.com> [Mon, 17 Oct 2011 13:42:42 -0500] rev 15288
auth: fix realm handling with Python < 2.4.3 (issue2739)
Martin Geisler <mg@aragost.com> [Mon, 17 Oct 2011 18:01:38 +0200] rev 15287
subrepo: abort in hgsubrepo._get if the destination is obstructed
Before, we deleted foo when we determined that there were zero
changesets in the foo subrepo. Any files in foo was deleted too. We
now delete foo/.hg instead, and the normal checks in hg.clone will
then abort if there are untracked files in foo.
Martin Geisler <mg@aragost.com> [Mon, 17 Oct 2011 16:45:19 +0200] rev 15286
subrepo: pull revisions on demand when archiving hg subrepos
Before, running 'hg archive -S' could result in
abort: unknown revision '65903cebad86f1a84bd4f1134f62fa7dcb7a1c98'!
if a subrepo was missing completely or had missing changesets. Now,
the missing changesets will be pulled or cloned as appropriate.
This make Mercurial subrepos match Git subrepos which already took
care to fetch any missing commits before starting the archive.
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 17 Oct 2011 14:27:34 +0200] rev 15285
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Matt Mackall <mpm@selenic.com> [Sun, 16 Oct 2011 22:15:43 -0500] rev 15284
merge with crew
Mads Kiilerich <mads@kiilerich.com> [Mon, 17 Oct 2011 01:40:50 +0200] rev 15283
merge in commit that shouldn't be on default
Mads Kiilerich <mads@kiilerich.com> [Mon, 17 Oct 2011 00:11:56 +0200] rev 15282
tests: don't use 'test -e'
On Solaris 10:
$ test -e f
test: argument expected
Matt Mackall <mpm@selenic.com> [Sun, 16 Oct 2011 20:26:20 -0500] rev 15281
check-code: support multiline matches like try/except/finally
- match one pattern at a time against entire file
- find line containing match
- sort matches by line number
Matt Mackall <mpm@selenic.com> [Sun, 16 Oct 2011 17:22:07 -0500] rev 15280
fix bad tag for 2.0-rc
This tag was immediately stripped, but not before escaping onto the hg-stable mirror.
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 16 Oct 2011 11:28:03 +0200] rev 15279
largefiles: use separate try/except and try/finally as needed for python2.4
cfccd3bee7b3 introduced a try/except/finally block, which breaks compatibility
with python2.4
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 16 Oct 2011 11:12:59 +0200] rev 15278
commands: use separate try/except and try/finally as needed for python2.4
62dc0e7ab092 introduced a try/except/finally block, which breaks compatibility
with python2.4
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 14:22:59 -0500] rev 15277
Added signature for changeset fccd350acf79
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 14:22:55 -0500] rev 15276
Added tag 2.0-rc for changeset fccd350acf79
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 14:31:29 -0500] rev 15275
Added signature for changeset 384082750f2c
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 14:31:26 -0500] rev 15274
Added tag 2.0-rc for changeset 384082750f2c
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 14:30:50 -0500] rev 15273
merge default into stable for 2.0 code freeze
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 14:19:24 -0500] rev 15272
rebase: simplify check for orphaned descendants
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 14:19:07 -0500] rev 15271
rebase: simplify set generation
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 15 Oct 2011 20:12:32 +0200] rev 15270
rebase: add --rev option to rebase
This option allow a strict set of revision to be specified instead of using -s
or -b. Rebase will refuse start if striping rebased changeset will strip non
rebased changeset. Rebase will refuse to work on set with multiple root.
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 12:57:47 -0500] rev 15269
rebase: allow revsets for source and base args
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 12:52:43 -0500] rev 15268
revset: fix %r handling in formatspec
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 15 Oct 2011 19:07:51 +0200] rev 15267
rebase: use revset as soon as possible in internal logic
The buildstate function now take a set of revs. Logic related to --source and
--base option have been moved in the main rebase function.
In the process this fixes a bug where the wrong source changeset might be pick.
This explain the changes in hgext/rebase.py
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 10:20:08 -0500] rev 15266
revset: add %r for embedded revset support to formatspec
This allows folding external revsets or lists of revsets into a revset
expression. Revsets are pre-parsed for validity so that syntax errors
don't escape.
Angel Ezquerra <angel.ezquerra@gmail.com> [Sat, 15 Oct 2011 01:06:52 +0200] rev 15265
revert: warn that subrepos cannot be reverted
(tests added by mpm)
Greg Ward <greg@gerg.ca> [Wed, 12 Oct 2011 21:45:58 -0400] rev 15264
merge: expand environment variables and ~/ in tool.executable
hgrc(5) already implies that this works, so we might as well support it.
Another approach would be to implement this in util.findexe(): that
would benefit other callers of findexe(), e.g. convert and anyone
calling the user's editor. But findexe() is really implemented in
both posix.py and windows.py, so this would make both of those modules
depend on util.py: not good. So keep it narrow and only for merge
tools.
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 00:39:06 -0500] rev 15263
minirst: improve test harness
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 00:39:04 -0500] rev 15262
minirst: add style flag to format
Matt Mackall <mpm@selenic.com> [Sat, 15 Oct 2011 00:39:01 -0500] rev 15261
minirst: add basic HTML formatting support
Matt Mackall <mpm@selenic.com> [Fri, 14 Oct 2011 15:40:50 -0500] rev 15260
graft: use status verbosity for reporting grafts
Idan Kamara <idankk86@gmail.com> [Fri, 14 Oct 2011 19:10:36 +0200] rev 15259
contrib: add a script to help diagnose raw output of the cmdserver
Idan Kamara <idankk86@gmail.com> [Fri, 14 Oct 2011 19:51:46 +0200] rev 15258
mq: eliminate explicit checks for file existence
Mads Kiilerich <mads@kiilerich.com> [Fri, 14 Oct 2011 02:50:06 +0200] rev 15257
mq: cleanup of lookup - handling of None is not relevant
Patch specifications in mq is passed around as a string or None. None is
generally used when no patch has been specified and there thus is nothing to
lookup and the calling code should do something else. One code path did however
pass None all the way to lookup. That case was handled in lookup, but there was
really need for that, it was undocumented, and it used to cause trouble back
when patches was specified as integers.
Mads Kiilerich <mads@kiilerich.com> [Sun, 31 Oct 2010 18:29:56 +0100] rev 15256
mq: fix corner cases for handling of patch 0 in qselect
Most of the code paths in mq would always pass patch specifications as a
string. Patches can be specified by their index, but one code path passed that
(through pop) to lookup as an integer - all other code paths used a string.
Unfortunately pop and lookup (like many other parts of mq) used the boolean
value of the patch specification to see if it was None, and they would thus
incorrectly handle patch 0 as None.
This patch makes the code comply with the actual internal duck typing of patch
specifications: patch indices must be encoded as strings. The (now) unused code
for partial and thus incorrect handling of indices as integers is removed.
Greg Ward <greg@gerg.ca> [Thu, 13 Oct 2011 21:42:54 -0400] rev 15255
largefiles: cosmetics, whitespace, code style
This is mainly about keeping code under the 80-column limit with as
few backslashes as possible. I am deliberately not making any logic or
behaviour changes here and have restrained myself to a few "peephole"
refactorings.
Greg Ward <greg@gerg.ca> [Thu, 13 Oct 2011 20:45:49 -0400] rev 15254
largefiles: more work on cleaning up comments
- always say "largefile", not "lfile"
- cleanup mangled syntax, hopefully correctly
(punctuation: it's your friend!)
- wrap to 75 columns (where feasible)
Greg Ward <greg@gerg.ca> [Thu, 13 Oct 2011 20:24:29 -0400] rev 15253
largefiles: improve error reporting
- tweak wording of some error messages
- use consistent capitalization
- always say 'largefile', not 'lfile'
- fix I18N problems
- only raise Abort for errors the user can do something about
Greg Ward <greg@gerg.ca> [Wed, 12 Oct 2011 20:59:27 -0400] rev 15252
largefiles: improve comments, internal docstrings
- fix some ungrammatical/unclear/incorrect comments/docstrings
- rewrite some really unclear comments/docstrings
- make formatting/style more consistent with the rest of Mercurial
(lowercase without period unless it's really multiple sentences)
- wrap to 75 columns
- always say "largefile(s)", not "lfile(s)" (or "big files")
- one space between sentences, not two
Na'Tosha Bard <natosha@unity3d.com> [Thu, 13 Oct 2011 15:15:32 +0200] rev 15251
largefiles: flush out tests to cover more operations and known cornercases
Na'Tosha Bard <natosha@unity3d.com> [Thu, 13 Oct 2011 12:11:25 +0200] rev 15250
largefiles: speed up commit by only rewriting standins for modified largefiles
Idan Kamara <idankk86@gmail.com> [Thu, 13 Oct 2011 17:54:38 +0200] rev 15249
tests: add basic tests for doctest syntax
Idan Kamara <idankk86@gmail.com> [Thu, 13 Oct 2011 17:54:37 +0200] rev 15248
run-tests: end doctest block when seeing a non-command
Idan Kamara <idankk86@gmail.com> [Thu, 13 Oct 2011 17:54:35 +0200] rev 15247
tests: remove temp doctest file when finished running it
Mads Kiilerich <mads@kiilerich.com> [Thu, 13 Oct 2011 04:27:49 +0200] rev 15246
httprepo: make __del__ more stable in error situations
Some errors could leave self.urlopener uninitialized and thus cause strange
crashes in __del__.
This member variable is now "declared statically" and checked for assignment
before use.
Mads Kiilerich <mads@kiilerich.com> [Sun, 31 Oct 2010 18:29:55 +0100] rev 15245
tests: exercise some corner cases for mq guard selection and --reapply
Mads Kiilerich <mads@kiilerich.com> [Thu, 13 Oct 2011 04:27:49 +0200] rev 15244
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com> [Thu, 13 Oct 2011 04:27:49 +0200] rev 15243
tests: cleanup of echo statements left over from test conversion
Matt Mackall <mpm@selenic.com> [Wed, 12 Oct 2011 18:59:59 -0500] rev 15242
graft: add examples and information about copied metadata
Matt Mackall <mpm@selenic.com> [Wed, 12 Oct 2011 18:48:57 -0500] rev 15241
graft: add --continue support
Matt Mackall <mpm@selenic.com> [Wed, 12 Oct 2011 18:46:23 -0500] rev 15240
graft: add user, date, and tool options
Matt Mackall <mpm@selenic.com> [Wed, 12 Oct 2011 18:46:03 -0500] rev 15239
graft: add --edit
Matt Mackall <mpm@selenic.com> [Wed, 12 Oct 2011 18:45:36 -0500] rev 15238
graft: add initial implementation
Augie Fackler <durin42@gmail.com> [Wed, 12 Oct 2011 11:09:57 -0500] rev 15237
bookmarks: delegate writing to the repo just like reading
This makes it easier for alternate storage backends to not use flat
files for bookmarks storage.
Idan Kamara <idankk86@gmail.com> [Wed, 12 Oct 2011 22:01:14 +0200] rev 15236
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.
Idan Kamara <idankk86@gmail.com> [Wed, 12 Oct 2011 22:01:13 +0200] rev 15235
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.
Eric Roshan Eisner <ede@alum.mit.edu> [Tue, 11 Oct 2011 21:34:55 -0700] rev 15234
subrepo: fix git branch tracking logic (issue2920)
Augie Fackler <durin42@gmail.com> [Tue, 11 Oct 2011 17:20:03 -0500] rev 15233
alias: don't shadow commands that we only partially matched (issue2993) (BC)
Previously, if you set an alias for "ci", it'd also shadow "commit"
even though you didn't specify that. This occurred for all commands
with explicit short variations.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 11 Oct 2011 18:48:45 +0200] rev 15232
resolve: update documentation to mention the .orig backup
Eric Roshan Eisner <ede@alum.mit.edu> [Tue, 11 Oct 2011 18:18:15 -0700] rev 15231
cmdutil.bailifchanged: abort for dirty subrepos
Greg Ward <greg@gerg.ca> [Tue, 11 Oct 2011 21:10:03 -0400] rev 15230
largefiles: improve help
Extension help taken from the URL formerly in the text
(https://developers.kilnhg.com/Repo/Kiln/largefiles/largefiles/File/usage.txt)
and improved.
Greg Ward <greg@gerg.ca> [Tue, 11 Oct 2011 21:11:01 -0400] rev 15229
largefiles: use ui.configlist() to split largefiles.patterns
Greg Ward <greg@gerg.ca> [Tue, 11 Oct 2011 21:07:08 -0400] rev 15228
largefiles: allow minimum size to be a float
Some old-fashioned people (e.g. me) think that incompressible
binary files >100 kB count as "large".
Greg Ward <greg@gerg.ca> [Tue, 11 Oct 2011 21:11:01 -0400] rev 15227
largefiles: factor out lfutil.getminsize()
Na'Tosha Bard <natosha@unity3d.com> [Tue, 11 Oct 2011 14:01:24 +0200] rev 15226
largefiles: cleanup import, now that we can assume > 1.9 for bundled extension
Na'Tosha Bard <natosha@unity3d.com> [Tue, 11 Oct 2011 13:15:29 +0200] rev 15225
largefiles: add test for status
Na'Tosha Bard <natosha@unity3d.com> [Tue, 11 Oct 2011 10:42:56 +0200] rev 15224
largefiles: remove pre-1.9 code from extension first bundled with 1.9
Matt Mackall <mpm@selenic.com> [Tue, 11 Oct 2011 23:16:05 -0500] rev 15223
pyflakes: clean up some import noise
Matt Mackall <mpm@selenic.com> [Tue, 11 Oct 2011 20:21:13 -0500] rev 15222
bdiff: fix pointer aliasing
Matt Mackall <mpm@selenic.com> [Tue, 11 Oct 2011 08:32:04 -0500] rev 15221
import: add --edit switch
Matt Mackall <mpm@selenic.com> [Mon, 10 Oct 2011 23:07:09 -0500] rev 15220
transplant: add --edit option
Matt Mackall <mpm@selenic.com> [Mon, 10 Oct 2011 23:01:25 -0500] rev 15219
rebase: add --edit switch
Augie Fackler <durin42@gmail.com> [Mon, 10 Oct 2011 17:57:40 -0500] rev 15218
httpclient: update to 07d8c356f4d1 of py-nonblocking-http
This addresses a defect when the server closes the socket before
finishing a response (if it crashes, for example) first spotted in
Issue2951.
Andreas Freimuth <andreas.freimuth@united-bits.de> [Mon, 10 Oct 2011 13:52:54 +0200] rev 15217
wireproto: do not call pushkey module directly (issue3041)
Call the repos pushkey/listkeys member function instead.
So the pushkey-hooks are triggered.
Na'Tosha Bard <natosha@unity3d.com> [Mon, 10 Oct 2011 17:34:17 +0200] rev 15216
largefiles: add beginnings of test (covers commit, remove, move, copy, and archive)
Na'Tosha Bard <natosha@unity3d.com> [Mon, 10 Oct 2011 17:33:17 +0200] rev 15215
setup: add largefiles to list of packages
Matt Mackall <mpm@selenic.com> [Sun, 09 Oct 2011 16:14:37 -0500] rev 15214
rebase: move updatedirstate into cmdutil so it can be shared
Matt Mackall <mpm@selenic.com> [Sun, 09 Oct 2011 11:03:57 -0500] rev 15213
subrepo: add git to the help topic
Matt Mackall <mpm@selenic.com> [Sat, 08 Oct 2011 15:19:05 -0500] rev 15212
branch: fix formatting of help note
Matt Mackall <mpm@selenic.com> [Sat, 08 Oct 2011 14:18:18 -0500] rev 15211
backout: deprecate/hide support for backing out merges
This has never worked usefully:
- it can't undo a completely unwanted merge, as it leaves the merge in the DAG
- it can't undo a faulty merge as that means doing a merge correctly,
not simply reverting to one or the other parent
Both of these kinds of merge also require coordinated action among
developers to avoid the bad merge continuing to affect future merges,
so we should stop pretending that backout is of any help here.
As backing out a merge now requires a hidden option, it can't be done
by accident, but will continue to 'work' for anyone who's already
dependent on --parent for some unknown reason.
Matt Mackall <mpm@selenic.com> [Sat, 08 Oct 2011 13:28:13 -0500] rev 15210
backout: add a note about not working on merges
Matt Mackall <mpm@selenic.com> [Sat, 08 Oct 2011 13:23:57 -0500] rev 15209
backout: mark some help verbose
Matt Mackall <mpm@selenic.com> [Fri, 07 Oct 2011 17:22:12 -0500] rev 15208
merge with stable
Elifarley Callado Coelho Cruz [Thu, 06 Oct 2011 19:45:26 -0300] rev 15207
acl: more descriptive error messages
Na'Tosha Bard <natosha@unity3d.com> [Thu, 06 Oct 2011 11:10:06 +0200] rev 15206
largefiles: fix commit of specified file on non-windows
jakob krainz <jakob@hawo-net.de> [Wed, 05 Oct 2011 10:28:39 +0200] rev 15205
convert: detect false cset boundaries in cvsps descriptions
Greg Ward <greg@gerg.ca> [Tue, 04 Oct 2011 19:43:45 -0400] rev 15204
transplant: wrap a transaction around the whole command
Matt Mackall <mpm@selenic.com> [Fri, 07 Oct 2011 17:08:24 -0500] rev 15203
help: generate command help into a single RST string for formatting
Matt Mackall <mpm@selenic.com> [Fri, 07 Oct 2011 16:36:54 -0500] rev 15202
help: unify the two -v notes for command help
Kirill Elagin <kirelagin@gmail.com> [Wed, 05 Oct 2011 09:20:38 +0300] rev 15201
diff: enhance highlighting with color (issue3034)
Now the highlighter knows whether it is in the header of the patch or not.
Matt Mackall <mpm@selenic.com> [Fri, 07 Oct 2011 15:36:50 -0500] rev 15200
debuginstall: report the template path
Greg Ward <greg@gerg.ca> [Sat, 01 Oct 2011 16:42:39 -0400] rev 15199
extensions: print some debug info on import failure
This is handy if hgext.foo exists but has a bogus "import blah":
previously we just discarded the "No module named blah" error. Now at
least you can see it with --debug. Not perfect, but better than
nothing.
Greg Ward <greg@gerg.ca> [Sun, 02 Oct 2011 14:34:28 -0400] rev 15198
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.
Greg Ward <greg@gerg.ca> [Sat, 01 Oct 2011 21:52:44 -0400] rev 15197
import: improve error reporting
When applying a series of patch files, it's nice to be explicitly told *which* file is broken.
Greg Ward <greg@gerg.ca> [Sat, 01 Oct 2011 21:51:25 -0400] rev 15196
import: join base with patchurl *after* checking for stdin
This only matters when using the deprecated --base option, and
combining --base with a patch on stdin makes no sense. But it's such
an obvious bug and easy fix that I couldn't pass it by.
Greg Ward <greg@gerg.ca> [Sat, 01 Oct 2011 21:49:04 -0400] rev 15195
import: rename some local variables
Greg Ward <greg@gerg.ca> [Sat, 01 Oct 2011 21:30:49 -0400] rev 15194
import: simplify status reporting logic (and make it more I18N-friendly)
The old code printed (with ui.status()) the changeset ID created by
patch N after committing patch N+1, e.g.
applying patch1
applying patch2
applied 1d4bd90af0e4
where 1d4bd90af0e4 is the changeset ID resulting from patch1. That's
just weird. It's also inconsistent: we only reported the changeset ID
when applying >1 patches. And it's inconsistent with 'commit', which
only tells you the new changeset ID in verbose mode. Finally, the
existing code was I18N-hostile, since it concatenated translated
strings.
The new way is to print the just-created changeset ID with ui.note()
immediately after committing it. It also clarifies what the user
message is for easier I18N.
Matt Mackall <mpm@selenic.com> [Fri, 07 Oct 2011 15:36:35 -0500] rev 15193
convert: fix crazy rollback call, broken by recent rollback safety checks
This was causing test-convert-cvs.t to fail.
Matt Mackall <mpm@selenic.com> [Sun, 02 Oct 2011 13:13:46 -0500] rev 15192
rst: fix detection of single-row tables
This fixes option lists for commands with only an --mq option.
Matt Mackall <mpm@selenic.com> [Sun, 02 Oct 2011 16:41:07 -0500] rev 15191
subrepo: fix repo relative path calculation for root directories (issue3033)
Matt Mackall <mpm@selenic.com> [Sun, 02 Oct 2011 13:02:15 -0500] rev 15190
subrepo: improve error message when svn isn't found
subprocess was returning the following unhelpful message:
abort: No such file or directory
Matt Mackall <mpm@selenic.com> [Sat, 01 Oct 2011 16:19:33 -0500] rev 15189
merge with stable
Greg Ward <greg@gerg.ca> [Sat, 01 Oct 2011 16:39:51 -0400] rev 15188
largefiles: don't break existing tests (syntax error, bad imports)
Matt Mackall <mpm@selenic.com> [Sat, 01 Oct 2011 16:18:51 -0500] rev 15187
rollback: use a hint for force
Matt Mackall <mpm@selenic.com> [Sat, 01 Oct 2011 15:49:29 -0500] rev 15186
Added signature for changeset 351a9292e430
Matt Mackall <mpm@selenic.com> [Sat, 01 Oct 2011 15:49:24 -0500] rev 15185
Added tag 1.9.3 for changeset 351a9292e430
Matt Mackall <mpm@selenic.com> [Sat, 01 Oct 2011 15:47:03 -0500] rev 15184
record: use command wrapper properly for qnew/qrefresh (issue3001)
Greg Ward <greg@gerg.ca> [Fri, 30 Sep 2011 21:58:54 -0400] rev 15183
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.
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 15:11:19 -0500] rev 15182
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 15:10:50 -0500] rev 15181
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 27 Sep 2011 03:33:26 +0900] rev 15180
i18n-ja: synchronized with 31c9e2a702d1
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 14:26:36 -0500] rev 15179
clone: add help examples
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 14:12:48 -0500] rev 15178
clone: add a note about -u/-U
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 14:09:45 -0500] rev 15177
clone: move portions of help into the verbose section
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 14:06:41 -0500] rev 15176
clone: clarify destination URLs
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 11:30:00 -0500] rev 15175
clone: move url crossref to bottom
Matt Mackall <mpm@selenic.com> [Fri, 30 Sep 2011 11:27:59 -0500] rev 15174
clone: improve help on -r/-b and tags
Matt Mackall <mpm@selenic.com> [Thu, 29 Sep 2011 17:16:42 -0500] rev 15173
largefiles: mark a string for translation
Matt Mackall <mpm@selenic.com> [Thu, 29 Sep 2011 17:15:54 -0500] rev 15172
largefiles: fix multistatement line
Matt Mackall <mpm@selenic.com> [Thu, 29 Sep 2011 17:14:47 -0500] rev 15171
largefiles: eliminate naked exceptions
Matt Mackall <mpm@selenic.com> [Thu, 29 Sep 2011 17:04:57 -0500] rev 15170
largefiles: fix over-long lines
Matt Mackall <mpm@selenic.com> [Thu, 29 Sep 2011 16:48:48 -0500] rev 15169
largefile: fix up hasattr usage
various [Sat, 24 Sep 2011 17:35:45 +0200] rev 15168
hgext: add largefiles extension
This code has a number of contributors and a complicated history prior to its
introduction that can be seen by visiting:
https://developers.kilnhg.com/Repo/Kiln/largefiles/largefiles
http://hg.gerg.ca/hg-bfiles
and looking at the included copyright notices and contributors list.
Matt Mackall <mpm@selenic.com> [Wed, 28 Sep 2011 16:11:53 -0500] rev 15167
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 28 Sep 2011 14:49:00 -0500] rev 15166
patchbomb: drop loop in prompt
There are no longer any prompts that insist on being answered, so the
loop is no longer needed, nor is most of the other logic.
Matt Mackall <mpm@selenic.com> [Wed, 08 Sep 2010 08:31:07 +0200] rev 15165
patchbomb: use prompt even in non-interactive mode
This matches our pre-existing behavior from:
changeset: 12197:540693065d40
user: Christian Ebert <blacktrash@gmx.net>
files: hgext/patchbomb.py tests/test-patchbomb.t
description:
patchbomb: show prompt and selection in non-interactive mode
changeset: 8940:01ada7b1861d
user: Mads Kiilerich <mads@kiilerich.com>
date: Sun Jun 21 03:13:38 2009 +0200
files: mercurial/ui.py tests/test-merge-prompt.out tests/test-merge-tools.out
description:
ui.prompt: Show prompt and selection in non-interactive mode
Greg Ward <greg@gerg.ca> [Tue, 27 Sep 2011 22:38:47 -0400] rev 15164
patchbomb: make it easy for the user to decline sending an intro message.
- prompt(): respect interactive mode; clarify logic a bit
- rename introneeded() to introwanted() and give it only one caller
- add 'numbered' arg to makepatch() so it does not need to call
introwanted()
- factor makeintro() out of getpatchmsgs(), so it's easier to skip the
intro message based on the user's behaviour
Unexpected but perfectly reasonable side effect: in non-interactive
mode, we don't show unanswerable "Cc" or "From" prompts anymore, so
remove those from the test expectations.
Nikolaj Sjujskij <sterkrig@myopera.com> [Tue, 20 Sep 2011 15:21:27 +0300] rev 15163
building: build inotify for sys.platform='linux*'
If Python interpreter was built under Linux 3.x kernel, it reports
sys.platform to be 'linux3' (it is fixed for Python 3, but not for 2.x).
This cancels building inotify extension, which was built only for 'linux2'
platform. Improved test checks if sys.platform begins with 'linux', and together
with test for kernel version to be greater than 2.6 it seems to cover all known
cases.
Greg Ward <greg@gerg.ca> [Mon, 26 Sep 2011 21:29:13 -0400] rev 15162
patchbomb: simplify some contorted logic and odd variable names.
Matt Mackall <mpm@selenic.com> [Wed, 28 Sep 2011 13:57:48 -0500] rev 15161
merge with crew
Mads Kiilerich <mads@kiilerich.com> [Tue, 27 Sep 2011 18:51:10 +0200] rev 15160
sslutil: abort when ssl module is needed but not found
It is apparently possible to compile Python without SSL support or leave it out
when installing precompiled binaries.
Mercurial on such Pythons would crash if the user tried to use https. Now it
will be reported as "abort: Python SSL support not found" instead.
Matt Mackall <mpm@selenic.com> [Tue, 27 Sep 2011 18:50:18 -0500] rev 15159
merge with stable
Steffen Daode Nurpmeso <sdaoden@googlemail.com> [Tue, 27 Sep 2011 18:41:09 -0500] rev 15158
patch: correctly handle non-tabular Subject: line
The line content of continued Subject: lines was yet joined via
str.replace('\n\t', ' '), which does not handle continuation via
spaces. So expan the regular expression instead to
handle all allowed forms of mail header line continuation.
Kevin Gessner <kevin@fogcreek.com> [Fri, 23 Sep 2011 09:02:27 -0700] rev 15157
util: fix crash converting an invalid future date to string
Post-2038 timestamps cannot be handled on 32-bit architectures. Clamp
such dates to the maximum 32-bit timestamp.
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 22 Sep 2011 01:51:36 +0200] rev 15156
styles: add new 'bisect' style that prints the bisection status
The style is based on the 'default' style, but adds the bisection status
of the changesets.
Example output for a changeset in range:
$ hg log --style bisect -r 15:16
changeset: 15:857b178a7cf3
bisect: bad
parent: 13:b0a32c86eb31
parent: 10:429fcd26f52d
user: test
date: Thu Jan 01 00:00:15 1970 +0000
summary: merge 10,13
changeset: 16:609d82a7ebae
bisect: bad (implicit)
user: test
date: Thu Jan 01 00:00:16 1970 +0000
summary: 16
$ hg log --quiet --style bisect
18:d42e18c7bc9b
B 17:228c06deef46
B 16:609d82a7ebae
B 15:857b178a7cf3
14:faa450606157
G 13:b0a32c86eb31
G 12:9f259202bbe7
G 11:82ca6f06eccd
U 10:429fcd26f52d
S 9:3c77083deb4a
G 8:dab8161ac8fc
7:50c76098bbf2
I 6:a214d5d3811a
I 5:385a529b6670
I 4:5c668c22234f
I 3:0950834f0a9c
I 2:051e12f87bf1
1:4ca5088da217
0:33b1f9bc8bc5
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 22 Sep 2011 01:36:01 +0200] rev 15155
templates: add 'bisect' keyword to return a cset's bisect status
This new 'bisect' template expands to a cset's bisection status (good,
bad and so on...). There is also a new 'shortbisect' filter that yields
a single char representing the cset's bisection status.
It uses the two recently-added hbisect.label() and .shortlabel() functions.
Example output using the repository in test-bisect2.t, and some made-up
state of the 'end at merge' test (with graphlog, it's so explicit):
$ hg glog --template '{rev}:{node|short} {bisect}\n' \
-r 'bisect(range)|bisect(ignored)'
o 17:228c06deef46: bad
|
o 16:609d82a7ebae: bad (implicit)
|
o 15:857b178a7cf3: bad
|\
| o 13:b0a32c86eb31: good
| |
| o 12:9f259202bbe7: good (implicit)
| |
| o 11:82ca6f06eccd: good
| |
@ | 10:429fcd26f52d: untested
|\ \
| o | 9:3c77083deb4a: skipped
| |/
| o 8:dab8161ac8fc: good
| |
o | 6:a214d5d3811a: ignored
|\ \
| o | 5:385a529b6670: ignored
| | |
o | | 4:5c668c22234f: ignored
| | |
o | | 3:0950834f0a9c: ignored
|/ /
o / 2:051e12f87bf1: ignored
|/
And now the same with the short label:
$ hg log --template '{bisect|shortbisect} {rev}:{node|short}\n'
18:d42e18c7bc9b
B 17:228c06deef46
B 16:609d82a7ebae
B 15:857b178a7cf3
14:faa450606157
G 13:b0a32c86eb31
G 12:9f259202bbe7
G 11:82ca6f06eccd
U 10:429fcd26f52d
S 9:3c77083deb4a
G 8:dab8161ac8fc
7:50c76098bbf2
I 6:a214d5d3811a
I 5:385a529b6670
I 4:5c668c22234f
I 3:0950834f0a9c
I 2:051e12f87bf1
1:4ca5088da217
0:33b1f9bc8bc5
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 22 Sep 2011 23:28:49 +0200] rev 15154
hbisect: add functions to return a label for a cset bisection status
Add two new functions that return a string containing the bisection status
of the node passed in parameter:
- .label(node): return a multi-char string representing the status of node
- .shortlabel(node): return a single-char string representing the status
of node, usually the initial of the label
bisection status .label() .shortlabel()
----------------------------------------------------------
good 'good' 'G'
good (implicit) 'good (implicit)' 'G'
bad 'bad' 'B'
bad (implicit) 'bad (implicit)' 'B'
skipped 'skip' 'S'
untested 'untested' 'U'
ignored 'ignored' 'I'
(others) None None
There is no point in returning 'range' or 'pruned', as these get covered
by another, more meaningful status in the table above.
In case the node is not being bisected, the functions return None to leave
it up to the caller to decide what to print (nothing, an empty space, or
whatever else suits).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 24 Sep 2011 01:32:50 +0200] rev 15153
hbisect: add two new revset descriptions: 'goods' and 'bads'
This patch adds two new revset descriptions:
- 'goods': the list of topologicaly-good csets:
- if good csets are topologically before bad csets, yields '::good'
- else, yields 'good::'
- and conversely for 'bads'
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mads Kiilerich <mads@kiilerich.com> [Wed, 21 Sep 2011 22:52:00 +0200] rev 15152
http: handle push of bundles > 2 GB again (issue3017)
It was very elegant that httpsendfile implemented __len__ like a string. It was
however also dangerous because that protocol can't handle sizes bigger than 2 GB.
Mercurial tried to work around that, but it turned out to be too easy to
introduce new errors in this area.
With this change __len__ is no longer implemented at all and the code will work
the same way for short and long posts.
Nikolaj Sjujskij <sterkrig@myopera.com> [Tue, 20 Sep 2011 15:21:27 +0300] rev 15151
building: build inotify for sys.platform='linux*'
If Python interpreter was built under Linux 3.x kernel, it reports
sys.platform to be 'linux3' (it is fixed for Python 3, but not for 2.x).
This cancels building inotify extension, which was built only for 'linux2'
platform. Improved test checks if sys.platform begins with 'linux', and together
with test for kernel version to be greater than 2.6 it seems to cover all known
cases.
Martin Geisler <mg@aragost.com> [Thu, 22 Sep 2011 15:15:18 +0200] rev 15150
subrepo: try remapping subpaths using the "final" path
Before, the right-hand side of a .hgsub entry was used, as is, to
match the left-hand side of a subpaths entry. This turned out to be
less useful than expected since a .hgsub file with
src/foo = src/foo
has little context to do remapping on. The new idea is therefore to
prefix the parent repo path *before* the remapping takes place.
If the parent repository path (as defined by _abssource) is
http://example.net/parent
then the remapping for the above .hgsub entry will be done on the
expanded path:
http://example.net/parent/src/foo
If this expanded path is not changed by the remapping, then we remap
src/foo
alone. This is the old behavior where the right-hand side is remapped
without context.
Martin Geisler <mg@aragost.com> [Thu, 22 Sep 2011 14:39:49 +0200] rev 15149
subrepo: refactor state function
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Tue, 20 Sep 2011 15:02:00 -0500] rev 15148
mq.strip: allow -r option, optionally
Other commands let -r to be used for revisions, so just for syntactic
consistency, it's nice to have it for strip as well
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 20 Sep 2011 20:21:04 +0200] rev 15147
revset.bisect: add 'ignored' set to the bisect keyword
The 'ignored' changesets are outside the bisection range, but are
changesets that may have an impact on the outcome of the bisection.
For example, in case there's a merge between the good and bad csets,
but the branch-point is out of the bisection range, and the issue
originates from this branch, the branch will not be visited by bisect
and bisect will find that the culprit cset is the merge.
So, the 'ignored' set is equivalent to:
( ( ::bisect(bad) - ::bisect(good) )
| ( ::bisect(good) - ::bisect(bad) ) )
- bisect(range)
- all ancestors of bad csets that are not ancestors of good csets, or
- all ancestors of good csets that are not ancestors of bad csets
- but that are not in the bisection range.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 20 Sep 2011 20:19:48 +0200] rev 15146
hbisect.get: use simpler code with repo.set(), fix 'pruned' set
Use repo.set() wherever possible, instead of locally trying to
reproduce complex graph computations.
'pruned' now means 'all csets that will no longer be visited by the
bisection'. The change is done is this very patch instead of its own
dedicated one becasue the code changes all over the place, and the
previous 'pruned' code was totally rewritten by the cleanup, so it
was easier to just change the behavior at the same time.
The previous series went in too fast for this cleanup pass to be
included, so here it is. ;-)
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Matt Mackall <mpm@selenic.com> [Wed, 21 Sep 2011 13:00:48 -0500] rev 15145
help: use RST to format option lists
Matt Mackall <mpm@selenic.com> [Wed, 21 Sep 2011 13:00:47 -0500] rev 15144
minirst: fix column handling for simple tables
Matt Mackall <mpm@selenic.com> [Wed, 21 Sep 2011 13:00:46 -0500] rev 15143
encoding: add getcols to extract substrings based on column width
Matt Mackall <mpm@selenic.com> [Wed, 21 Sep 2011 13:00:41 -0500] rev 15142
encoding: colwidth input is in the local encoding
Brodie Rao <brodie@bitheap.org> [Mon, 19 Sep 2011 15:58:03 -0700] rev 15141
mdiff: speed up showfunc for large diffs
This addresses the following issues with showfunc:
- Silly usage of regular expressions.
- Doing str.rstrip() needlessly in an inner loop.
- Doing catastrophic backtracking when trying to find a function line.
Finding function text is now at worst O(n lines in the old file), and
at best close to O(n hunks).
Given a diff like this[1]:
src/main/antlr3/uk/ac/cam/ch/wwmm/pregenerated/ChemicalChunker.g | 4 +-
src/main/java/uk/ac/cam/ch/wwmm/pregenerated/ChemicalChunkerLexer.java | 2 +-
src/main/java/uk/ac/cam/ch/wwmm/pregenerated/ChemicalChunkerParser.java | 29189 +++++----
3 files changed, 14741 insertions(+), 14454 deletions(-)
[1]: https://bitbucket.org/wwmm/chemicaltagger/changeset/d2bfbaecd4fc/raw
Without this change, hg log --stat --config diff.showfunc=1 takes an
absurdly long time to complete:
CallCount Recursive Total(ms) Inline(ms) module:lineno(function)
32813 0 80.3546 40.6086 mercurial.mdiff:160(yieldhunk)
+65062746 0 25.7227 25.7227 +<method 'match' of '_sre.SRE_Pattern' objects>
+65062746 0 14.0221 14.0221 +<method 'rstrip' of 'str' objects>
+1809 0 0.0009 0.0009 +mercurial.mdiff:148(contextend)
+1809 0 0.0003 0.0003 +<len>
65062746 0 25.7227 25.7227 <method 'match' of '_sre.SRE_Pattern' objects>
65062763 0 14.0221 14.0221 <method 'rstrip' of 'str' objects>
543 0 0.1631 0.1631 <zlib.decompress>
3 0 0.0505 0.0505 <mercurial.bdiff.blocks>
31007 0 80.4564 0.0477 mercurial.mdiff:147(_unidiff)
+32813 0 80.3546 40.6086 +mercurial.mdiff:160(yieldhunk)
+3 0 0.0505 0.0505 +<mercurial.bdiff.blocks>
+3618 0 0.0022 0.0022 +mercurial.mdiff:154(contextstart)
+5427 0 0.0013 0.0013 +<len>
+3 0 0.0001 0.0000 +re:188(compile)
1 0 80.8381 0.0322 mercurial.patch:1777(diffstatdata)
+107499 0 0.0235 0.0235 +<method 'startswith' of 'str' objects>
+31014 0 80.7820 0.0071 +mercurial.util:1284(iterlines)
+3 0 0.0000 0.0000 +<method 'search' of '_sre.SRE_Pattern' objects>
+4 0 0.0000 0.0000 +mercurial.patch:1783(addresult)
+3 0 0.0000 0.0000 +<method 'group' of '_sre.SRE_Match' objects>
6 0 0.0444 0.0283 mercurial.mdiff:12(splitnewlines)
+6 0 0.0160 0.0160 +<method 'split' of 'str' objects>
32 0 0.0246 0.0246 <method 'update' of '_hashlib.HASH' objects>
11 0 0.0236 0.0236 <method 'read' of 'file' objects>
Time: real 80.880 secs (user 80.200+0.000 sys 0.380+0.000)
With this change, it's almost as fast as not using showfunc at all:
CallCount Recursive Total(ms) Inline(ms) module:lineno(function)
543 0 0.1699 0.1699 <zlib.decompress>
3 0 0.0501 0.0501 <mercurial.bdiff.blocks>
32813 0 0.0415 0.0348 mercurial.mdiff:161(yieldhunk)
+70837 0 0.0058 0.0058 +<method 'isalnum' of 'str' objects>
+1809 0 0.0006 0.0006 +mercurial.mdiff:148(contextend)
+1809 0 0.0002 0.0002 +<len>
1 0 0.4879 0.0310 mercurial.patch:1777(diffstatdata)
+107499 0 0.0230 0.0230 +<method 'startswith' of 'str' objects>
+31014 0 0.4335 0.0065 +mercurial.util:1284(iterlines)
+3 0 0.0000 0.0000 +<method 'search' of '_sre.SRE_Pattern' objects>
+4 0 0.0000 0.0000 +mercurial.patch:1783(addresult)
+1 0 0.0004 0.0000 +re:188(compile)
32 0 0.0293 0.0293 <method 'update' of '_hashlib.HASH' objects>
6 0 0.0427 0.0279 mercurial.mdiff:12(splitnewlines)
+6 0 0.0147 0.0147 +<method 'split' of 'str' objects>
31007 0 0.1169 0.0235 mercurial.mdiff:147(_unidiff)
+3 0 0.0501 0.0501 +<mercurial.bdiff.blocks>
+32813 0 0.0415 0.0348 +mercurial.mdiff:161(yieldhunk)
+3618 0 0.0012 0.0012 +mercurial.mdiff:154(contextstart)
+5427 0 0.0006 0.0006 +<len>
107597 0 0.0230 0.0230 <method 'startswith' of 'str' objects>
16 0 0.0213 0.0213 <mercurial.mpatch.patches>
194 0 0.0149 0.0149 <method 'split' of 'str' objects>
Time: real 0.530 secs (user 0.450+0.000 sys 0.070+0.000)
Matt Mackall <mpm@selenic.com> [Mon, 19 Sep 2011 16:28:44 -0500] rev 15140
revset: add 'l' flag to formatspec for args
This makes it easy to calculate a revset with lists:
good = [1, 2, 3]
bad = [10, 11, 12]
between = repo.set('%ld::%ld', good, bad)
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 18 Sep 2011 23:57:49 +0200] rev 15139
bisect: add some bisection examples, and some log revset.bisect() examples
Add a few examples on how to use bisect:
- a few bisection examples
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 17 Sep 2011 14:33:20 +0200] rev 15138
revset.bisect: add new 'untested' set to the bisect keyword
The 'untested' set is made of changesets that are in the bisection range
but for which the status is still unknown, and that can later be used to
further decide on the bisection outcome.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 17 Sep 2011 17:30:35 +0200] rev 15137
revset.bisect: add new 'pruned' set to the bisect keyword
The 'pruned' set is made of changesets that did participate to
the bisection. They are made of
- all good changesets
- all bad changsets
- all skipped changesets, provided they are in the bisection range
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 17 Sep 2011 17:33:34 +0200] rev 15136
revset.bisect: add new 'range' set to the bisect keyword
The 'range' set is made of all changesets that make the bisection
range, that is
- csets that are ancestors of bad csets and descendants of good csets
or
- csets that are ancestors of good csets and descendants of bad csets
That is, roughly equivalent of:
bisect(good)::bisect(bad) | bisect(bad)::bisect(good)
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 17 Sep 2011 00:20:45 +0200] rev 15135
revset.bisect: move bisect() code to hbisect.py
Computing the ranges of csets in the bisection belongs to the hbisect
code. This allows for reusing the status computation from many places,
not only the revset code, but also to later display the bisection status
of a cset...
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 18 Sep 2011 22:54:11 +0200] rev 15134
revset: rename bisected() to bisect()
Rename the 'bisected' keyword to simply 'bisect'.
Still accept the old name, but no longer advertise it.
As discussed with Matt on IRC.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 18 Sep 2011 10:07:51 +0200] rev 15133
revset.bisected: remove 'unknown' state
'unknown' is not a valid bisect state, so causes a traceback.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 19 Sep 2011 16:57:13 +0200] rev 15132
rebase: allow rebase to ancestor (issue3010)
We only deny rebasing onto direct parent. Thanks to the ancestor argument of
merge. the "implementation" of this feature only consist in loosing the check
and imply detach when rebasing on ancestor.
Greg Ward <greg@gerg.ca> [Sun, 18 Sep 2011 19:59:33 -0400] rev 15131
rollback: only restore dirstate and branch when appropriate.
If the working dir parent was destroyed by rollback, then the old
behaviour is perfectly reasonable: restore dirstate, branch, and
bookmarks. That way the working dir moves back to an existing
changeset rather than becoming an orphan.
But if the working dir parent was unaffected -- say, you updated to an
older changeset and then did rollback -- then it's silly to restore
dirstate and branch. So don't do that. Leave the status of the working
dir alone. (But always restore bookmarks, because that file refers to
changeset IDs that may have been destroyed.)
Greg Ward <greg@gerg.ca> [Fri, 16 Sep 2011 21:38:06 -0400] rev 15130
rollback: refactor for readability; cosmetics.
- clarify how we parse undo.desc
- fix bad grammar in an error message
- factor out ui local
- rename some local variables
- standardize string quoting
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 14:55:55 -0500] rev 15129
help: make optlist local to subfunctions
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 14:50:42 -0500] rev 15128
help: move option list display into subfunctions
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 14:46:13 -0500] rev 15127
help: fold header selection into helplist
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 14:46:00 -0500] rev 15126
help: fold some list help clauses into the helplist function
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 14:17:09 -0500] rev 15125
minirst: end all blocks with newlines
Formerly RST blocks were formatted without a trailing newline, which
wasn't particularly helpful. Now everything that comes back from the
formatter has a trailing newline so remove all the extra ones added by
users.
Martin Geisler <mg@aragost.com> [Mon, 19 Sep 2011 14:19:26 +0200] rev 15124
convert: rename local variable
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 13:42:11 -0500] rev 15123
minirst: don't choke on empty text
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 13:37:50 -0500] rev 15122
minirst: remove some whitespace
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 13:37:49 -0500] rev 15121
minirst: remove pointless transcoding
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 13:37:47 -0500] rev 15120
tests: fix up help test for new verbose sections
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 13:20:10 -0500] rev 15119
status: add some help examples
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 13:08:24 -0500] rev 15118
forget: add help examples
Matt Mackall <mpm@selenic.com> [Sat, 17 Sep 2011 12:34:47 -0500] rev 15117
revsets: add first alias for last
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 22:57:47 -0500] rev 15116
revset: add default of 1 to limit and last functions
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 17:53:58 -0500] rev 15115
remove: suggest forget to undo adds
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 17:41:36 -0500] rev 15114
remove: simplify help
- move the obscure parts into the verbose help
- drop confusing references to "remove from repository" / "not remove
from history"
- add mention of hg forget
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 17:08:18 -0500] rev 15113
import: add help examples
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 16:52:45 -0500] rev 15112
id: add some help examples
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 16:40:27 -0500] rev 15111
export: add help examples
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 16:39:55 -0500] rev 15110
diff: add help examples
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 15:31:21 -0500] rev 15109
archive: add help examples
Greg Ward <greg@gerg.ca> [Wed, 14 Sep 2011 22:01:39 -0400] rev 15108
test-rollback: tinker a bit to make it easier to add more tests.
etienne <etienne.desautels@gmail.com> [Thu, 15 Sep 2011 15:03:54 -0400] rev 15107
convert: added bookmarks support in filemap
When using the convert extension from a Mercurial rep. to subset it with
filemap, the bookmarks are not copied. I fixed this by calling the
base.get_bookmarks() from the filemap getbookmarks() instead of returning an
empty dictionary. It should work also for other converters that implement
getbookmarks() (like git). I don't see any drawbacks except that the bookmarks
are always copied (not necessarily wanted all the times).
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 06:18:18 +0200] rev 15106
util: fix finding of hgexecutable
The version introduced in 89d9f92f6fdd would for example return thg
(thanks to Mads Kiilerich for pointing to this)
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 14:37:57 -0500] rev 15105
log: add a usage note about --removed
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 14:37:56 -0500] rev 15104
log: rearrange the help text a bit
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 14:37:55 -0500] rev 15103
log: add some usage examples to verbose help
Matt Mackall <mpm@selenic.com> [Fri, 16 Sep 2011 14:37:53 -0500] rev 15102
minirst: fix container stripping logic
Greg Ward <greg@gerg.ca> [Wed, 14 Sep 2011 22:28:27 -0400] rev 15101
share: allow trailing newline on .hg/sharedpath.
This is extremely handy for those occasional circumstances where you
need to edit .hg/sharedpath manually, since modern Unix text editors
make it surprisingly difficult to create a text file with no trailing
newline.
Ben Hockey <neonstalwart@gmail.com> [Wed, 07 Sep 2011 10:24:26 -0400] rev 15100
contrib: some support for named branches in zsh_completion (issue2988)
named branches were not included for autocompletion in zsh. by adding
_hg_branches and calling it from _hg_labels, named branches are now included
when autocompleting many commands in zsh. support for completion of hg log -b
was also added. there are possibly other cases where support needs to be
explicitly added.
Simon Heimberg <simohe@besonet.ch> [Wed, 14 Sep 2011 17:06:33 +0200] rev 15099
test: test for options duplicate with global options
issue2995 should not happen anymore
Matt Mackall <mpm@selenic.com> [Wed, 14 Sep 2011 14:37:10 -0500] rev 15098
merge with stable
Greg Ward <greg-hg@gerg.ca> [Sun, 11 Sep 2011 21:21:58 -0400] rev 15097
rollback: improve readability; clarify that the return value is an int.
Simon Heimberg <simohe@besonet.ch> [Mon, 22 Aug 2011 22:50:52 +0200] rev 15096
demandimport: determine at load time if __import__ has level argument
Matt Mackall <mpm@selenic.com> [Tue, 13 Sep 2011 17:01:07 -0500] rev 15095
win32: quietly ignore missing CreateHardLinkA for Wine
Steve Streeting <steve@stevestreeting.com> [Thu, 08 Sep 2011 11:34:59 +0100] rev 15094
osutil: avoid accidentally destroying the True object in isgui (issue2937)
Needed to use 'Py_RETURN_TRUE' instead of 'return Py_True' to avoid
reference count errors which would randomly crash the Python
executable during merge. This only happened when you had something
configured in merge-tools and the merge was large enough.
Sune Foldager <cryo@cyanite.org> [Wed, 14 Sep 2011 13:57:56 +0200] rev 15093
merge with stable
Sune Foldager <cryo@cyanite.org> [Wed, 14 Sep 2011 13:57:31 +0200] rev 15092
merge
Sune Foldager <cryo@cyanite.org> [Wed, 14 Sep 2011 13:51:50 +0200] rev 15091
bundlerepo: add argument check before unlink
The default argument value of None, for bundlename, would cause an exception.
Callers currently pass an empty string, thus dodging this problem.
Lee Cantey <lcantey@gmail.com> [Mon, 12 Sep 2011 09:20:31 -0700] rev 15090
test-setdiscovery: allow for leading space in output of wc
Matt Mackall <mpm@selenic.com> [Mon, 12 Sep 2011 23:02:45 -0500] rev 15089
merge with stable
Simon Heimberg <simohe@besonet.ch> [Sun, 11 Sep 2011 14:42:30 +0200] rev 15088
ui: write traceback to self.ferr
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 11 Sep 2011 18:49:54 +0200] rev 15087
mq: split up overly long line
Dan Villiom Podlaski Christiansen <dan@cabo.dk> [Sun, 11 Sep 2011 18:49:41 +0200] rev 15086
patch: handle 'gitpatches' being empty, but not none
Dan Villiom Podlaski Christiansen <dan@cabo.dk> [Sun, 11 Sep 2011 18:49:38 +0200] rev 15085
mq: don't suppress patch tracebacks when applying patches
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 11 Sep 2011 19:13:56 +0200] rev 15084
test-setdiscovery.t: portability fix
The output of 'wc -c' is prefixed with spaces when using BSD wc.
Christian Ebert <blacktrash@gmx.net> [Sun, 11 Sep 2011 12:20:39 +0100] rev 15083
keyword: use wopener(..., atomictemp=True) to overwrite
Matt Mackall <mpm@selenic.com> [Sat, 10 Sep 2011 17:59:47 -0500] rev 15082
share: drop unused import
Matt Mackall <mpm@selenic.com> [Sat, 10 Sep 2011 17:56:42 -0500] rev 15081
merge with stable
Simon Heimberg <simohe@besonet.ch> [Sat, 13 Aug 2011 00:08:26 +0200] rev 15080
test: test unshare command
Simon Heimberg <simohe@besonet.ch> [Thu, 11 Aug 2011 00:04:00 +0200] rev 15079
hgext: introduce unshare command
Simon Heimberg <simohe@besonet.ch> [Thu, 11 Aug 2011 00:03:16 +0200] rev 15078
hg: extract copying the store out of clone
Renato Cunha <renatoc@gmail.com> [Thu, 08 Sep 2011 20:40:24 -0300] rev 15077
url: Remove the proxy env variables only when needed (issue2451)
This is an attempt to fix issue 2451 and its duplicates (2599 and 2949, AFAIK).
Its main idea is that it is only necessary to clean the proxy environment
variables *when* http_proxy is set in the config file (since it takes
precedence over the environment variables). Otherwise, hg shouldn't bother with
them, since they will most likely be used to reach the server.
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 06:18:18 +0200] rev 15076
util: improve finding of hgexecutable
check the module __main__ before looking on the default path
Christian Ebert <blacktrash@gmx.net> [Sat, 10 Sep 2011 13:23:41 +0100] rev 15075
keyword: 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.
Matt Mackall <mpm@selenic.com> [Sat, 10 Sep 2011 17:49:19 -0500] rev 15074
url: parse fragments first (issue2997)
Matt Mackall <mpm@selenic.com> [Fri, 09 Sep 2011 14:41:22 -0500] rev 15073
log: remove -h short option for --hidden (issue2995)
Matt Mackall <mpm@selenic.com> [Thu, 08 Sep 2011 18:30:44 -0500] rev 15072
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 08 Sep 2011 18:29:53 -0500] rev 15071
hgweb: properly check for bookmarks when drawing graph
Christian Ebert <blacktrash@gmx.net> [Thu, 08 Sep 2011 19:30:25 +0100] rev 15070
keyword: preserve file mode when overwriting
Martin Geisler <mg@aragost.com> [Thu, 08 Sep 2011 10:20:42 +0200] rev 15069
convert: use repo.join instead of referencing ".hg" directly
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Thu, 01 Sep 2011 12:29:24 +0200] rev 15068
repair: switch from changegroupsubset to getbundle
This is in preparation of deprecating changegroupsubset.
Martin Geisler <mg@aragost.com> [Tue, 30 Aug 2011 15:22:10 +0200] rev 15067
merge with stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 27 Aug 2011 04:56:12 +0900] rev 15066
i18n: calculate terminal columns by width information of each characters
neither number of 'bytes' in any encoding nor 'characters' is
appropriate to calculate terminal columns for specified string.
this patch modifies MBTextWrapper for:
- overriding '_wrap_chunks()' to make it use not built-in 'len()'
but 'encoding.colwidth()' for columns of string
- fixing '_cutdown()' to make it use 'encoding.colwidth()' instead
of local, similar but incorrect implementation
this patch also modifies 'encoding.py':
- dividing 'colwith()' into 2 pieces: one for calculation columns of
specified UNICODE string, and another for rest part of original
one. the former is used from MBTextWrapper in 'util.py'.
- preventing 'colwidth()' from evaluating HGENCODINGAMBIGUOUS
configuration per each invocation: 'unicodedata.east_asian_width'
checking is kept intact for reducing startup cost.
Mads Kiilerich <mads@kiilerich.com> [Sat, 06 Aug 2011 23:52:20 +0200] rev 15065
util: wrap lines with multi-byte characters correctly (issue2943)
This re-introduces the unicode conversion what was lost in d320e70442a5 5 years
ago and had the comment:
To avoid corrupting multi-byte characters in line, we must wrap
a Unicode string instead of a bytestring.
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:19:43 -0500] rev 15064
encoding: use getattr isntead of hasattr
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Thu, 25 Aug 2011 21:25:14 +0200] rev 15063
setdiscovery: fix hang when #heads>200 (issue2971)
When setting up the next sample, we always add all of the heads, regardless
of the desired max sample size. But if the number of heads exceeds this
size, then we don't add any more nodes from the still undecided set.
(This is debatable per se, and I'll investigate it, but it's how we designed
it at the moment.)
The bug was that we always added the overall heads, not the heads of the
remaining undecided set. Thus, if #heads>200 (desired sample size), we
did not make progress any longer.
Martin Geisler <mg@aragost.com> [Tue, 30 Aug 2011 14:18:58 +0200] rev 15062
ui: also swap sys.stdout with self.fout in _readline
In 17ffb30d9174, _readline was changed to output a space using
raw_input and this was done using sys.stdout directly, not self.fout.
This change broke the command server for JavaHg since it (and other
clients) would see a spurious ' ' on stdout and interpret this as an
unknown channel.
Matt Mackall <mpm@selenic.com> [Fri, 26 Aug 2011 16:08:24 -0500] rev 15061
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 26 Aug 2011 16:07:16 -0500] rev 15060
Added signature for changeset d629f1e89021
Matt Mackall <mpm@selenic.com> [Fri, 26 Aug 2011 16:07:13 -0500] rev 15059
Added tag 1.9.2 for changeset d629f1e89021
Adrian Buehlmann <adrian@cadifra.com> [Thu, 25 Aug 2011 11:03:16 +0200] rev 15058
util: postpone and reorder parent calculation in makedirs
Greg Ward <greg@gerg.ca> [Thu, 25 Aug 2011 20:21:04 -0400] rev 15057
atomictempfile: make close() consistent with other file-like objects.
The usual contract is that close() makes your writes permanent, so
atomictempfile's use of close() to *discard* writes (and rename() to
keep them) is rather unexpected. Thus, change it so close() makes
things permanent and add a new discard() method to throw them away.
discard() is only used internally, in __del__(), to ensure that writes
are discarded when an atomictempfile object goes out of scope.
I audited mercurial.*, hgext.*, and ~80 third-party extensions, and
found no one using the existing semantics of close() to discard
writes, so this should be safe.
Robert Jones <rob@redshirtsoftware.com> [Wed, 24 Aug 2011 05:42:41 -0400] rev 15056
posix: check for executable bits on files identified by findexe function
Mads Kiilerich <mads@kiilerich.com> [Fri, 26 Aug 2011 16:23:35 +0200] rev 15055
subrepo: fix cloning of repos from urls without slash after host (issue2970)
This fixes a regression introduced with the new url handling in 1.9.
This should perhaps be fixed in the url class instead, but that might be too
invasive for a stable bugfix.
Matt Mackall <mpm@selenic.com> [Thu, 25 Aug 2011 16:21:53 -0500] rev 15054
merge with stable
Idan Kamara <idankk86@gmail.com> [Thu, 25 Aug 2011 22:06:03 +0300] rev 15053
ui: pass ' ' to raw_input when prompting
This is a workaround for calling ui.prompt(...), typing some character then
hitting backspace which causes the entire line to delete rather than just the
one character. This was seen on Debian using gnome-terminal.
(credits to Mads for the idea)
Python bug can be found here: http://bugs.python.org/issue12833
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Thu, 25 Aug 2011 17:20:00 +0200] rev 15052
dagutil: fix off-by-one in inverserevlogdag buildup
Wagner Bruna <wbruna@yahoo.com> [Fri, 19 Aug 2011 10:05:23 -0300] rev 15051
i18n-pt_BR: synchronized with 7f504202cb5c
Mads Kiilerich <mads@kiilerich.com> [Mon, 22 Aug 2011 00:42:38 +0200] rev 15050
util.makedirs: make recursion simpler and more stable (issue2948)
Before, makedirs could call itself recursively with the same path name it was
given, relying on sane file system behavior to terminate the recursion. That
could cause infinite recursion on insane file systems.
Instead we now call mkdir explicitly after having created parent directory
recursively. Exceptions from this mkdir is not swallowed.
Mads Kiilerich <mads@kiilerich.com> [Mon, 22 Aug 2011 00:35:42 +0200] rev 15049
util.makedirs: propagate chmod exceptions
The existing exception handling was intended to handle mkdir errors. Strange
chmod exceptions could thus have strange consequences - or be swallowed.
Marc Simpson <marc@0branch.com> [Sun, 21 Aug 2011 20:40:10 +0100] rev 15048
color: add styles for tags
Marc Simpson <marc@0branch.com> [Sat, 20 Aug 2011 21:47:10 +0100] rev 15047
ui: use labels when outputting tags
Matt Mackall <mpm@selenic.com> [Thu, 18 Aug 2011 17:24:04 -0500] rev 15046
merge with stable
Wagner Bruna <wbruna@yahoo.com> [Thu, 18 Aug 2011 10:15:14 -0300] rev 15045
help/config: strip trailing whitespace
This disabled paragraph splitting for translations.
Martin Geisler <mg@aragost.com> [Thu, 18 Aug 2011 13:56:58 +0200] rev 15044
commands: clarify that 'hg heads foo' shows heads on branch foo
This is a FAQ: people try 'hg heads -r foo' and only see the tip-most
branch heads on foo.
Martin Geisler <mg@aragost.com> [Wed, 17 Aug 2011 14:17:35 +0200] rev 15043
merge with stable
Pang Yan Han <pangyanhan@gmail.com> [Wed, 17 Aug 2011 16:41:14 +0800] rev 15042
commands: fix grammar in resolve help text
Martin Geisler <mg@aragost.com> [Wed, 17 Aug 2011 14:11:46 +0200] rev 15041
merge: use repo.ui directly instead local variable
The non-standard 'u = repo.ui' shorthand was only used two times and
there were many other full references to repo.ui.
Shun-ichi GOTO <shunichi.goto@gmail.com> [Mon, 08 Aug 2011 14:32:27 +0900] rev 15040
win32: msvcr71.dll should be used for python 2.4 and 2.5
Following is list of C-Runtime for versions of CPython on windows:
- python 2.4.5 => MSVCR71.dll
- python 2.5.4 => MSVCR71.dll
- python 2.6.6 => MSVCR90.dll
- python 2.7 => MSVCR90.dll
- python 3.1.2 => MSVCR90.dll
Matt Mackall <mpm@selenic.com> [Thu, 11 Aug 2011 22:40:43 -0500] rev 15039
minirst: add a helper function to build an RST table from an array
Matt Mackall <mpm@selenic.com> [Thu, 11 Aug 2011 22:40:41 -0500] rev 15038
minirst: drop debug code
This standalone mode no longer works due to the mechanics of import
and util. When run not as part of a package, the import of util causes
an import of the built-in posix module, which doesn't contain the
expected symbols. This is difficult to fix in Py2.4.
Matt Mackall <mpm@selenic.com> [Thu, 11 Aug 2011 22:05:57 -0500] rev 15037
minirst: add simple table support
This adds a subset of the 'simple table' support from RST to allow
formatting of options lists through RST. Table columns are
automatically sized based on contents, with line wrapping in the last
column.
Matt Mackall <mpm@selenic.com> [Thu, 11 Aug 2011 22:05:31 -0500] rev 15036
minirst: only strip leading newlines, not indentation
Matt Mackall <mpm@selenic.com> [Thu, 11 Aug 2011 14:34:03 -0500] rev 15035
ui: allow alternatives for config options
Matt Mackall <mpm@selenic.com> [Wed, 10 Aug 2011 13:52:52 -0500] rev 15034
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 10 Aug 2011 13:40:01 -0500] rev 15033
parsers: avoid pointer aliasing
Newer versions of GCC have aggressive pointer alias optimizations that
might get fooled by our pointer manipulations. These issues shouldn't
be encountered in practice because distutils compiles extensions with
-fno-strict-alias but the code was not valid according to the standard.
Matt Mackall <mpm@selenic.com> [Wed, 10 Aug 2011 13:25:35 -0500] rev 15032
graphlog: attempt to fix index overrun (issue2912)
This bug may be caused by file subgraphs have more than two parents
per node. I have no idea if this fix is correct as the graphlog code
is mysterious, but it seems to be fine on the available test case.
Mads Kiilerich <mads@kiilerich.com> [Sat, 06 Aug 2011 23:52:20 +0200] rev 15031
util: wrap lines with multi-byte characters correctly (issue2943)
This re-introduces the unicode conversion what was lost in d320e70442a5 5 years
ago and had the comment:
To avoid corrupting multi-byte characters in line, we must wrap
a Unicode string instead of a bytestring.
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Aug 2011 11:34:52 +0100] rev 15030
keyword: avoid x = a and b or c
Martin Geisler <mg@aragost.com> [Tue, 09 Aug 2011 11:05:13 +0200] rev 15029
match: remove unused assignment
The field is assigned again below with the constructor argument.
Patrick Mezard <pmezard@gmail.com> [Sat, 06 Aug 2011 14:10:59 +0200] rev 15028
http: explain why the host is passed to urllib2 password manager
The original comment was in url.getauthinfo() and was lost in bf6156bab41b.
Matt Mackall <mpm@selenic.com> [Fri, 05 Aug 2011 16:07:51 -0500] rev 15027
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 05 Aug 2011 00:39:54 +0200] rev 15026
test-http: test http authentication
The extension hack is based on Henrik Stuart's hg-textauth.
Patrick Mezard <pmezard@gmail.com> [Fri, 05 Aug 2011 21:05:41 +0200] rev 15025
http: pass user to readauthforuri() (fix 4a43e23b8c55)
urllib2 never handles URIs with credentials, we have to extract them and store
them in the password manager before handing the stripped URI. Half of the
changes deducing the username from the URI in 4a43e23b8c55 were incorrect.
Instead, we retrieve the username from the password manager before passing to
readauthforuri().
test-hgweb-auth.py was passing because the test itself was flawed: it was
passing URIs with credentials to find_password(), which never happens.
Patrick Mezard <pmezard@gmail.com> [Fri, 05 Aug 2011 21:05:40 +0200] rev 15024
http: strip credentials from urllib2 manager URIs (issue2885)
urllib2 password manager does not strip credentials from URIs registered with
add_password() and compare them with stripped URIs in find_password(). Remove
credentials from URIs returned by util.url.authinfo(). It sometimes works when
no port was specified as the URI host is registered too.
Matt Mackall <mpm@selenic.com> [Thu, 04 Aug 2011 16:12:58 -0500] rev 15023
help: move option text display into a helper function
Matt Mackall <mpm@selenic.com> [Thu, 04 Aug 2011 15:36:15 -0500] rev 15022
help: move 'additional help topics' code
Matt Mackall <mpm@selenic.com> [Thu, 04 Aug 2011 15:34:30 -0500] rev 15021
help: rename option_lists to optlist
Matt Mackall <mpm@selenic.com> [Thu, 04 Aug 2011 15:08:41 -0500] rev 15020
help: drop with_version
If --version is specified, we print the version and exit (as documented).
Idan Kamara <idankk86@gmail.com> [Thu, 04 Aug 2011 19:41:23 +0300] rev 15019
dispatch: don't rewrap aliases that have the same definition
Previously aliases that overrode existing commands would wrap the old alias
on every call to dispatch() (twice actually), which is an obvious re-entrancy
issue for things like the command server or TortoiseHG.
Mads Kiilerich <mads@kiilerich.com> [Thu, 04 Aug 2011 02:51:29 +0200] rev 15018
url: really handle urls of the form file:///c:/foo/bar/ correctly
28edd65000d9 made sure that paths that seemed to start with a windows drive
letter would not get an extra leading slash.
localpath should thus not try to handle this case by removing a leading slash,
and this special handling is thus removed.
(The localpath handling of this case was wrong anyway, because paths that look
like they start with a windows drive letter can't have a leading slash.)
A quick verification of this is to run 'hg id file:///c:/foo/bar/'.
Andrew Pritchard <andrewp@fogcreek.com> [Tue, 02 Aug 2011 15:21:10 -0400] rev 15017
wireproto: add out-of-band error class to allow remote repo to report errors
Older clients will still print the provided error message and not much else:
over ssh, this will be each line prefixed with 'remote: ' in addition to an
"abort: unexpected response: '\n'"; over http, this will be the '---%<---'
banners in addition to the 'does not appear to be a repository' message.
Currently, clients with this patch will display 'abort: remote error:\n' and
the provided error text, but it is trivial to style the error text however is
deemed appropriate.
Matt Mackall <mpm@selenic.com> [Wed, 03 Aug 2011 16:41:14 -0500] rev 15016
windows: fix pyflakes warning on unused imports
This is ugly, but only marginally uglier than before, and it avoids
hacking/disabling our pyflakes test
Matt Mackall <mpm@selenic.com> [Tue, 02 Aug 2011 17:43:20 -0500] rev 15015
minirst: add decorateblocks search helper
Matt Mackall <mpm@selenic.com> [Tue, 02 Aug 2011 17:43:18 -0500] rev 15014
minirst: add getsections helper
Matt Mackall <mpm@selenic.com> [Tue, 02 Aug 2011 17:41:45 -0500] rev 15013
minirst: add formatblocks helper
Matt Mackall <mpm@selenic.com> [Tue, 02 Aug 2011 14:54:38 -0500] rev 15012
minirst: add parse method to get document structure
Adrian Buehlmann <adrian@cadifra.com> [Tue, 02 Aug 2011 13:18:56 +0200] rev 15011
util: move copymode into posix.py and windows.py
reducing it to a NOP on Windows.
This eliminates a pointless stat call on Windows and reduces the risk of
interferring with other processes (e.g. AV-scanners, file change watchers).
See also http://mercurial.selenic.com/wiki/UnlinkingFilesOnWindows, item 2d
Adrian Buehlmann <adrian@cadifra.com> [Tue, 02 Aug 2011 12:29:48 +0200] rev 15010
util: factor new function copymode out of mktempcopy
Adrian Buehlmann <adrian@cadifra.com> [Tue, 02 Aug 2011 11:32:39 +0200] rev 15009
revert: introduce short option -C for --no-backup
Corresponds to -C of the update command.
It's much more convenient to use:
$ hg revert -aC
than having to type
$ hg revert -a --no-backup
I think the 'no-backup' case is a frequent use case.
Introducing short option -C here fits with the muscle memory we have from
'hg update -C', which is described there as "discard uncommitted changes
(no backup)".
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 18:10:05 -0500] rev 15008
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 18:09:20 -0500] rev 15007
Added signature for changeset 4a43e23b8c55
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 18:09:00 -0500] rev 15006
Added tag 1.9.1 for changeset 4a43e23b8c55
Patrick Mezard <pmezard@gmail.com> [Mon, 01 Aug 2011 23:58:50 +0200] rev 15005
hgweb: do not ignore [auth] if url has a username (issue2822)
The [auth] section was ignored when handling URLs like:
http://user@example.com/foo
Instead, we look in [auth] for an entry matching the URL and supplied user
name. Entries without username can match URL with a username. Prefix length
ties are resolved in favor of entries matching the username. With:
foo.prefix = http://example.org
foo.username = user
foo.password = password
bar.prefix = http://example.org/bar
and the input URL:
http://user@example.org/bar
the 'bar' entry will be selected because of prefix length, therefore prompting
for a password. This behaviour ensure that entries selection is consistent when
looking for credentials or for certificates, and that certificates can be
picked even if their entries do no define usernames while the URL does.
Additionally, entries without a username matched against a username are
returned as if they did have requested username set to avoid prompting again
for a username if the password is not set.
v2: reparse the URL in readauthforuri() to handle HTTP and HTTPS similarly.
v3: allow unset usernames to match URL usernames to pick certificates. Resolve
prefix length ties in favor of entries with usernames.
Matt Mackall <mpm@selenic.com> [Sun, 31 Jul 2011 01:46:52 +0200] rev 15004
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Before: hgweb made it possible to download file content with a content type
detected from the file extension. It would serve .html files as text/html and
could thus cause XSS vulnerabilities if the web site had any kind of session
authorization and the repository content wasn't fully trusted.
Now: all files default to "application/binary", which all important
browsers will refuse to treat as text/html. See the table here:
https://code.google.com/p/browsersec/wiki/Part2#Survey_of_content_sniffing_behaviors
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 14:53:10 -0500] rev 15003
hgweb: extract the path logic from updatereqenv and add doctests
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 14:52:11 -0500] rev 15002
merge with stable
wujek [Mon, 01 Aug 2011 09:48:10 +0200] rev 15001
hgweb: handle 'baseurl' configurations with leading slash (issue2934)
Idan Kamara <idankk86@gmail.com> [Mon, 01 Aug 2011 19:53:00 +0300] rev 15000
ui: call write() so the prompt string goes through subclassed implementation
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 10:54:34 -0500] rev 14999
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 01 Aug 2011 10:54:10 -0500] rev 14998
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 31 Jul 2011 23:42:40 +0900] rev 14997
i18n-ja: synchronized with 4fdab926e111
Jens Bäckman <jens.backman@gmail.com> [Sat, 30 Jul 2011 09:42:07 +0200] rev 14996
i18n-sv: synchronized with 192e02680d09
py4fun [Sun, 31 Jul 2011 22:12:13 +0200] rev 14995
parsers: remove redundant 'n' variable in parsers.parse_index2() (issue2935)
Vasily Titskiy <qehgt0@gmail.com> [Thu, 28 Jul 2011 13:28:32 -0400] rev 14994
subrepo: handle adding svn subrepo with a svn:external file in it (issue2931)
Idan Kamara <idankk86@gmail.com> [Sat, 30 Jul 2011 23:41:10 +0300] rev 14993
hook: be prepared for __stdout/err__ not having fileno()
it may have been replaced, see https://bitbucket.org/tortoisehg/thg/issue/937
Idan Kamara <idankk86@gmail.com> [Sat, 30 Jul 2011 21:04:14 +0300] rev 14992
dispatch: make sure global options on the command line take precedence
So if a user has verbose=True somewhere in his .hgrc files, giving -q
on the command line will override that.
This basically reverts 1b8c70c9f47c.
Augie Fackler <durin42@gmail.com> [Wed, 27 Jul 2011 18:35:35 -0500] rev 14991
http2: send an extra header to signal a non-broken client
Some proxies strip the expect header because they forward requests in
a non-compliant way or as a way to defend against bogus clients.
Augie Fackler <durin42@gmail.com> [Fri, 29 Jul 2011 12:46:45 -0500] rev 14990
httpclient: import ca33b88d143c from py-nonblocking-http (issue2932)
Andrei Vermel <avermel@mail.ru> [Fri, 29 Jul 2011 15:36:27 +0400] rev 14989
color.py - clear _terminfo_params in win32 mode
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 31 Jul 2011 21:00:44 +0200] rev 14988
url: store and assume the query part of an url is in escaped form (issue2921)
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 29 Jul 2011 20:26:52 +0200] rev 14987
mq/qqueue: print current queue name
Add an option to qqueue to print only the name of the current queue.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Andrzej Bieniek <andyhelp@gmail.com> [Sat, 30 Jul 2011 11:08:45 +0100] rev 14986
export: add %m to file format string (first line of the commit message)
$ hg commit -m "Initial commit"
$ hg export -o %m.patch tip #It creates Initial_commit.patch file.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 29 Jul 2011 00:39:27 +0200] rev 14985
windows: eliminate win32 wildcard import
Matt Mackall <mpm@selenic.com> [Fri, 29 Jul 2011 17:27:38 -0500] rev 14984
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 29 Jul 2011 17:27:14 -0500] rev 14983
merge with crew
Lee Cantey <lcantey@gmail.com> [Thu, 28 Jul 2011 02:38:01 +0300] rev 14982
test-filecache: change for python 2.4 compatibility
Andrew Pritchard <andrewp@fogcreek.com> [Wed, 27 Jul 2011 18:32:54 -0400] rev 14981
setdiscovery: return anyincoming=False when remote's only head is nullid
This fixes (issue2907) a crash when using 'hg incoming --bundle' with an empty
remote repo and a non-empty local repo.
This also fixes an unreported bug that 'hg summary --remote' erroneously
reports incoming changes when the remote repo is empty and the local is not.
Also, add a test to make sure issue2907 stays fixed
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 28 Jul 2011 14:36:07 +0900] rev 14980
i18n: use UTF-8 string to lower filename for case collision check
Some character sets, cp932 (known as Shift-JIS for Japanese) for
example, use 0x41('A') - 0x5A('Z') and 0x61('a') - 0x7A('z') as second
or later character.
In such character set, case collision checking recognizes different
files as CASEFOLDED same file, if filenames are treated as byte
sequence.
win32mbcs extension is not appropriate to handle this problem, because
this problem can occur on other than Windows platform only if
problematic character set is used.
Callers of util.checkcase() use known ASCII filenames as last
component of path, and string.lower() is not applied to directory part
of path. So, util.checkcase() is kept intact, even though it applies
string.lower() to filenames.
Matt Mackall <mpm@selenic.com> [Thu, 28 Jul 2011 14:20:06 -0500] rev 14979
merge with crew
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 14:59:31 -0500] rev 14978
check-code: disallow use of hasattr()
The hasattr() builtin from Python < 3.2 [1] has slightly surprising
behavior: it catches all exceptions, even KeyboardInterrupt. This
causes it to have several surprising side effects, such as hiding
warnings that occur during attribute load and causing mysterious
failure modes when ^Cing an application. In later versions of Python
2.x [0], exception classes which do not inherit from Exception (such
as SystemExit and KeyboardInterrupt) are not caught, but other types
of exceptions may still silently cause returning False instead of
getting a reasonable exception.
[0] http://bugs.python.org/issue2196
[1] http://docs.python.org/dev/whatsnew/3.2.html
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 21:15:48 -0500] rev 14977
demandimport: use getattr instead of hasattr
We don't use util.safehasattr() here to avoid adding new dependencies
for demandimport. This change may expose previously-silenced
deprecation warnings to appear, as hasattr silently hides warnings
that occur during module import when using demandimport.
Augie Fackler <durin42@gmail.com> [Tue, 01 Mar 2011 23:35:22 -0600] rev 14976
demandimport: blacklist rfc822 and mimetools to prevent spurious warnings
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 20:46:30 -0500] rev 14975
i18n: use getattr instead of hasattr
Using getattr instead of util.safehasattr here to avoid adding another
dependency for i18n.
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:09:18 -0500] rev 14974
win32/hgwebdir_wsgi: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:08:57 -0500] rev 14973
setup.py: use getattr instead of hasdattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:07:52 -0500] rev 14972
setup3k: use getattr instead of hasattr
Note that hasattr is fixed on Python 3, so this is more about being
concise and keeping check-code happy than actual correctness of code.
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:37:18 -0500] rev 14971
tests: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:05:01 -0500] rev 14970
wireproto: use safehasattr or getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:04:44 -0500] rev 14969
windows: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:04:40 -0500] rev 14968
util: use safehasattr or getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:02:42 -0500] rev 14967
templatefilters: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:02:27 -0500] rev 14966
patch: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:02:15 -0500] rev 14965
mail: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:55:51 -0500] rev 14964
url: replace uses of hasattr with safehasattr or getattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:53:22 -0500] rev 14963
subrepo: use safehasattr instead of hasattr
Some of these instances could be rewritten as clever getattr(x, y,
default) ladders, but that felt like it impeded readability too much
to be worth the modest efficiency gain.
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:47:43 -0500] rev 14962
statichttprepo: replace hasattr with getattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:45:11 -0500] rev 14961
walkrepos: use getattr instead of hasattr for samestat
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:43:55 -0500] rev 14960
revlog: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:41:46 -0500] rev 14959
lsprof: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 20:36:59 -0500] rev 14958
keepalive: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:38:46 -0500] rev 14957
hgweb: move remaining hasattr calls to safehasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:38:10 -0500] rev 14956
wsgicgi: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:37:52 -0500] rev 14955
httprepo: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:36:13 -0500] rev 14954
help command: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:27:08 -0500] rev 14953
hgweb_mod: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:22:18 -0500] rev 14952
hg: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:19:43 -0500] rev 14951
encoding: use getattr isntead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:17:47 -0500] rev 14950
dispatch: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:36:56 -0500] rev 14949
debugignore: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:32:42 -0500] rev 14948
cmdutil: use safehasattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:09:17 -0500] rev 14947
byterange: replace uses of hasattr with getattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:07:09 -0500] rev 14946
bookmarks: use getattr instead of hasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 20:37:12 -0500] rev 14945
hgext: replace uses of hasattr with util.safehasattr
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 15:30:19 -0500] rev 14944
globally: use safehasattr(x, '__iter__') instead of hasattr(x, '__iter__')
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:24:37 -0500] rev 14943
globally: use safehasattr(x, '__call__') instead of hasattr(x, '__call__')
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 14:59:55 -0500] rev 14942
safehasattr: new function to work around hasattr being broken
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:14:02 -0500] rev 14941
windows: check util.mainfrozen() instead of ad-hoc checks everywhere
Patrick Mezard <pmezard@gmail.com> [Tue, 26 Jul 2011 21:30:12 +0200] rev 14940
notify: rewrite user documentation
The main intent is to turn the reference help into a configuration walkthrough.
It also fix several things:
- Do not suggest to use it for commit notifications, it cannot work
- Fix notify.strip default value
- Mention that subscriptions can be setup in Mercurial configuration files
- Improve notify.strip and notify.domain documentation
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 22:19:28 +0300] rev 14939
cmdserver: repo.invalidate() on every runcommand
This will trigger the filecache and recreate every cached property that was
changed by something other than this cmdserver instance (e.g. by running
'hg commit' at the cmdline).
Angel Ezquerra <angel.ezquerra@gmail.com> [Mon, 25 Jul 2011 08:28:37 +0200] rev 14938
help: add "web/logoimg" setting description
Matt Mackall <mpm@selenic.com> [Mon, 25 Jul 2011 12:58:47 -0500] rev 14937
filecache: fix check-code complaint
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:57 +0300] rev 14936
localrepo: unify tag related info into a tagscache class
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14935
localrepo: make invalidate() walk _filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14934
localrepo: decorate manifest() with filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14933
localrepo: decorate _bookmarks/current with filecache
nodebookmarks() can be cached as well, leaving for later
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14932
localrepo: decorate changelog() with filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14931
localrepo: refresh filecache entries after releasing a repo.lock()
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14930
localrepo: decorate dirstate() with filecache
We refresh the stat info when releasing repo.wlock(), right after writing it.
Also, invalidate the dirstate by deleting its attribute. This will force a
stat by the decorator that actually checks if anything changed, rather than
reading it again every time.
Note that prior to this, there was a single dirstate instance created for a
localrepo. It was invalidated by calling dirstate.invalidated(), clearing
its internal attributes.
As a consequence, the following construct is no longer safe:
ds = repo.dirstate # keep a reference to the repo's dirstate
wlock = repo.wlock()
try:
ds.setparents(...)
finally:
wlock.release() # dirstate should be written here
Since it's possible that the dirstate was modified between lines #1 and #2,
therefore changes to the old dirstate won't get written when the lock releases,
because a new instance was created by the decorator.
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14929
localrepo: add a cache with stat info for files under .hg/
Idan Kamara <idankk86@gmail.com> [Sat, 09 Jul 2011 19:06:59 +0300] rev 14928
scmutil: introduce filecache
The idea is being able to associate a file with a property, and watch
that file stat info for modifications when we decide it's important for it to
be up-to-date. Once it changes, we recreate the object.
On filesystems that can't uniquely identify a file, we always recreate.
As a consequence, localrepo.invalidate() will become much less expensive in the
case where nothing changed on-disk.
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:03:02 +0300] rev 14927
posix, windows: introduce cachestat
This class contains a stat result, and possibly other file info to reliably
determine between two points in time whether a file has changed.
Uniquely identifying a file gives us that reliability because we either
atomic rename or append. So one of two will happen: the file 'id' will change,
or the size of the file will change.
posix implements it simply by calling os.stat() and checking if the result
has st_ino.
For now on Windows we always assume the path is uncacheable. This can be
improved on NTFS due to file IDs: http://msdn.microsoft.com/en-us/library/aa363788(v=vs.85).aspx
So we need to find out if a file path is on an NTFS drive, for that we have:
- GetVolumeInformation, which unfortunately only works with a root path (but is available on XP)
- GetVolumeInformationByHandleW, works on a full file path but requires Vista or higher
Adrian Buehlmann <adrian@cadifra.com> [Sat, 23 Jul 2011 12:29:52 +0200] rev 14926
util: eliminate wildcard imports
Matt Mackall <mpm@selenic.com> [Sat, 23 Jul 2011 14:33:35 -0500] rev 14925
templater: use a global funcs table
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 06:09:14 +0200] rev 14924
ui: config path relative to repo root
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 06:08:52 +0200] rev 14923
ui: providing no default value to configpath should not raise an Error
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Jul 2011 06:08:49 +0200] rev 14922
ui: fix error, base can not be a list
Matt Mackall <mpm@selenic.com> [Sat, 23 Jul 2011 11:52:25 -0500] rev 14921
merge with stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 22 Jul 2011 20:31:15 -0300] rev 14920
test-i18n, i18n-pt_BR: updated test message changed in 41c3a71c318d
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 22 Jul 2011 20:27:40 -0300] rev 14919
i18n-pt_BR: synchronized with a934b9249574
Matt Mackall <mpm@selenic.com> [Fri, 22 Jul 2011 17:17:23 -0500] rev 14918
merge with stable
Augie Fackler <durin42@gmail.com> [Thu, 21 Jul 2011 15:56:15 -0500] rev 14917
rebase: remove trailing whitespace found by check-code
Lee Cantey <lcantey@gmail.com> [Fri, 22 Jul 2011 08:03:47 -0700] rev 14916
hooks: use python 2.4 compatible exception handling
Matt Mackall <mpm@selenic.com> [Fri, 22 Jul 2011 17:11:35 -0500] rev 14915
url: handle urls of the form file:///c:/foo/bar/ correctly
David Golub <davidg@fogcreek.com> [Thu, 21 Jul 2011 16:02:34 -0400] rev 14914
dispatch: avoid double backslashes in error message
The use of %r in the format string caused Python to display Windows paths with
double backslashes.
Angel Ezquerra <angel.ezquerra@gmail.com> [Thu, 21 Jul 2011 15:10:16 +0200] rev 14913
hgweb: add a "web/logoimg" setting to customize the web logo image
This change complements the existing web/logourl setting, and lets the user
customize the logo image that is shown on many of the hg server pages.
If this setting is not set, hglogo.png is used.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 21 Jul 2011 11:05:26 +0200] rev 14912
util: move windows and posix wildcard imports to begin of file
Adrian Buehlmann <adrian@cadifra.com> [Fri, 22 Jul 2011 10:35:05 +0200] rev 14911
util: move "default" hidewindow to posix.py
There is a hidewindow in win32.py, which we get via windows.py
Adrian Buehlmann <adrian@cadifra.com> [Fri, 22 Jul 2011 10:31:56 +0200] rev 14910
util: move "default" lookupreg to posix.py
There is a lookupreg in win32.py, which we get via windows.py
Adrian Buehlmann <adrian@cadifra.com> [Fri, 22 Jul 2011 09:55:46 +0200] rev 14909
util: move "default" unlinkpath to posix.py
we have a unlinkpath in windows.py
Adrian Buehlmann <adrian@cadifra.com> [Fri, 22 Jul 2011 09:53:15 +0200] rev 14908
util: move "default" makedir to posix.py
makedir is already defined in win32.py, which gets imported into util.py
via windows.py if we are running on Windows
Augie Fackler <durin42@gmail.com> [Thu, 21 Jul 2011 15:52:08 -0500] rev 14907
summary: allow color to highlight active bookmark
Augie Fackler <durin42@gmail.com> [Mon, 18 Jul 2011 07:53:26 -0500] rev 14906
summary: show bookmarks separate from tags and note active mark (issue2892)
Andrew Pritchard <andrewp@fogcreek.com> [Wed, 20 Jul 2011 18:23:06 -0400] rev 14905
localrepo: make requirements attribute of newly-created repos contain a set
This is for internal consistency, as this attribute typically contains a set
Matt Mackall <mpm@selenic.com> [Fri, 22 Jul 2011 16:46:22 -0500] rev 14904
localrepo: fix comment on set
Matt Mackall <mpm@selenic.com> [Thu, 21 Jul 2011 15:39:37 -0500] rev 14903
revert: restore check for uncommitted merge (issue2915) (BC)
This will restore the pre-1.9 behavior.
Matt Mackall <mpm@selenic.com> [Thu, 21 Jul 2011 14:06:55 -0500] rev 14902
localrepo: add set method to iterate over a given revset
This should allow replacing a number of hand-rolled graph algorithms.
Matt Mackall <mpm@selenic.com> [Thu, 21 Jul 2011 14:05:45 -0500] rev 14901
revset: add formatspec convenience query builder
Matt Mackall <mpm@selenic.com> [Thu, 21 Jul 2011 14:04:57 -0500] rev 14900
revset: allow bypassing alias expansion
For internal usage of revset queries, we don't want aliases breaking things.
Matt Mackall <mpm@selenic.com> [Tue, 19 Jul 2011 17:51:45 -0500] rev 14899
merge with stable
Kevin Bullock <kbullock@ringworld.org> [Tue, 19 Jul 2011 13:43:53 -0500] rev 14898
subrepo: don't commit in subrepo if it's clean
If a subrepo has changed relative to the outer repo's substate, but the
subrepo itself is clean, we don't need to commit in the subrepo.
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Mon, 18 Jul 2011 22:58:21 +0200] rev 14897
rebase: block collapse with keepbranches on multiple named branches (issue2112)
Collapse and keepbranches should be blocked when there is more than
one named branch on the branch that's going to be rebased.
Matt Mackall <mpm@selenic.com> [Tue, 19 Jul 2011 14:19:04 -0500] rev 14896
merge with stable
Alexander Krauss <krauss@in.tum.de> [Sun, 17 Jul 2011 00:36:43 +0200] rev 14895
hbisect: do not assume that min(good) is an ancestor of min(bad)
The included test used to report "inconsistent state", which is
incorrect. While this situation cannot occur when the user sticks to
the suggested bisect sequence. However, adding more consistent
good/bad information to the bisect state should be tolerated as well.
Alexander Krauss <krauss@in.tum.de> [Sun, 17 Jul 2011 00:35:31 +0200] rev 14894
hbisect: more consistent variable name
Alexander Krauss <krauss@in.tum.de> [Sat, 16 Jul 2011 12:22:40 +0200] rev 14893
hbisect: confine loop to the relevant interval
In this context we know that ancestors[rev] == None for all rev <= goodrev,
so looping further back is unnecessary (and confusing).
Idan Kamara <idankk86@gmail.com> [Sat, 16 Jul 2011 15:24:28 +0300] rev 14892
win32: assign winstdout to sys.__stdout__ as well (issue2888)
On Windows sys.stdout was being replaced with winstdout, which caused
util.system() to redirect its output (due to 406b6d7bdcb9). That causes
interactive tools (such as vim) to stop working.
Matt Mackall <mpm@selenic.com> [Mon, 18 Jul 2011 14:57:22 -0500] rev 14891
alias: note interaction of shell aliases with early opts in help
Matt Mackall <mpm@selenic.com> [Mon, 18 Jul 2011 14:53:52 -0500] rev 14890
alias: fix up test results
Idan Kamara <idankk86@gmail.com> [Sat, 09 Jul 2011 19:06:59 +0300] rev 14889
hooks: redirect stdout/err/in to the ui descriptors when calling python hooks
We need to make sure that python hooks I/O goes through the ui descriptors so
it doesn't mess the command server protocol.
Matt Mackall <mpm@selenic.com> [Fri, 15 Jul 2011 18:03:37 -0500] rev 14888
alias: pass local ui to shell alias
This avoids an additional config read
Matt Mackall <mpm@selenic.com> [Fri, 15 Jul 2011 16:06:54 -0500] rev 14887
aliases: drop cwd manipulation
Already done in _dispatch
Matt Mackall <mpm@selenic.com> [Fri, 15 Jul 2011 16:06:53 -0500] rev 14886
dispatch: move shell alias handling after early arg handling
--cwd, --repo, and --config obviously should be handled first
Matt Mackall <mpm@selenic.com> [Fri, 15 Jul 2011 14:27:16 -0500] rev 14885
merge with stable
Stefano Tortarolo <stefano.tortarolo@gmail.com> [Fri, 15 Jul 2011 20:07:19 +0200] rev 14884
rebase: reset bookmarks (issue2265 and issue2873)
Matt Mackall <mpm@selenic.com> [Fri, 15 Jul 2011 12:56:58 -0500] rev 14883
merge with stable
Idan Kamara <idankk86@gmail.com> [Thu, 14 Jul 2011 11:46:15 +0300] rev 14882
cmdserver: take repo.baseui as our ui
The ui passed to server() is really repo.ui, that is it contains its local
configuration as well.
When running commands that use a different repo than the servers cached repo,
we don't want to use that ui as the baseui for the new repo.
Benoit Allard <benoit@aeteurope.nl> [Fri, 15 Jul 2011 10:18:24 +0200] rev 14881
web: Output a correct date in short format (issue2902)
Idan Kamara <idankk86@gmail.com> [Fri, 15 Jul 2011 16:28:09 +0300] rev 14880
test-commandserver: explicitly close opened file
Matt Mackall <mpm@selenic.com> [Thu, 14 Jul 2011 12:39:39 -0500] rev 14879
verify: fix mq misfire
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 19:30:27 -0500] rev 14878
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 19:30:09 -0500] rev 14877
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 05 Jul 2011 17:54:36 -0300] rev 14876
i18n-pt_BR: synchronized with 35f5cfdd0427
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 19:27:56 -0500] rev 14875
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 16:43:18 -0500] rev 14874
commit: suppress spurious new head message for duplicate commit (issue2893)
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 16:58:51 -0500] rev 14873
osutil: emulate os.listdir's OSError for long names (issue2898)
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 16:28:46 -0500] rev 14872
verify: filter messages about missing null manifests (issue2900)
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 19:24:54 -0500] rev 14871
merge with crew
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 17:41:49 -0500] rev 14870
subrepo: use working copy of .hgsub to filter status (issue2901)
Patrick Mezard <pmezard@gmail.com> [Wed, 13 Jul 2011 19:23:33 +0200] rev 14869
notify: remove unused url() method
Patrick Mezard <pmezard@gmail.com> [Wed, 13 Jul 2011 19:23:12 +0200] rev 14868
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com> [Wed, 13 Jul 2011 19:23:08 +0200] rev 14867
run-tests: fix summary when accepting changes interactively
Accepted changes were not counted as success.
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 16:29:28 -0500] rev 14866
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 13 Jul 2011 16:28:46 -0500] rev 14865
verify: filter messages about missing null manifests (issue2900)
Idan Kamara <idankk86@gmail.com> [Mon, 11 Jul 2011 17:49:45 +0300] rev 14864
cmdserver: restore old working dir after dispatch when we have --cwd
Idan Kamara <idankk86@gmail.com> [Mon, 11 Jul 2011 17:46:55 +0300] rev 14863
dispatch: don't use request repo if we have --cwd
Nicholas Riley <njriley@illinois.edu> [Tue, 12 Jul 2011 12:06:11 -0400] rev 14862
eol: ignore IOError from deleted files in commitctx
A Mercurial repo signals a file is deleted by raising IOError when the
file's data is requested. This IOError is normally caught by
localrepository.commitctx. With the eol extension enabled and EOL
mappings in place, the eolrepo subclass should ignore IOError because
a deleted file has no line endings to process.
This issue exhibited itself when performing an incremental hg convert
of a revision with deleted files to a repo with an existing .hgeol
file.
Steve Borho <steve@borho.org> [Fri, 08 Jul 2011 20:24:19 -0500] rev 14861
scmutil: add missing import of re
see https://bitbucket.org/tortoisehg/thg/issue/929
Matt Mackall <mpm@selenic.com> [Tue, 12 Jul 2011 16:36:34 -0500] rev 14860
dispatch: fix checking of rpath in _getlocal
This avoids an extra config read
Matt Mackall <mpm@selenic.com> [Tue, 12 Jul 2011 16:36:22 -0500] rev 14859
ui: rename _is_trusted to _trusted
is and do are pointless, underbar separators are style violations
Matt Mackall <mpm@selenic.com> [Tue, 12 Jul 2011 16:27:03 -0500] rev 14858
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 12 Jul 2011 16:22:36 -0500] rev 14857
eol: fix silly test-gendoc breakage by escaping control characters
Martin Geisler <mg@aragost.com> [Thu, 07 Jul 2011 12:13:07 +0200] rev 14856
eol: document new eol.fix-trailing-newline setting
Stepan Koltsov <stepancheg@yandex-team.ru> [Fri, 01 Jul 2011 23:12:52 +0400] rev 14855
eol: fix missing trailing newlines in comitted files
Some text editors (Eclipse, for example) do not add trailing newlines,
so diffs often contain annoying "\ No newline at the end of file".
This patch to eol extension simply adds trailing newline on commit.
Stepan Koltsov <stepancheg@yandex-team.ru> [Fri, 01 Jul 2011 22:53:58 +0400] rev 14854
eol: eol.only-consistent can now be specified in .hgeol
Martin Geisler <mg@aragost.com> [Thu, 07 Jul 2011 10:34:19 +0200] rev 14853
merge with stable
Martin Geisler <mg@aragost.com> [Thu, 07 Jul 2011 10:19:37 +0200] rev 14852
commands: use mergetoolopts when a command supports --tool
Matt Mackall <mpm@selenic.com> [Tue, 12 Jul 2011 12:35:03 -0500] rev 14851
revsets: actually catch type error on tip^p1(tip) (issue2884)
The previous commit was empty.
Cédric Krier <ced@b2ck.com> [Sat, 09 Jul 2011 09:44:15 +0200] rev 14850
hgcia: Set default value of strip to -1 (issue2891)
For backward compatibility the root path of the repository is not
displayed unless the user has specified an explicit strip value.
Martin Geisler <mg@aragost.com> [Thu, 07 Jul 2011 10:32:30 +0200] rev 14849
commands: improve help for -y/--noninteractive
Before, the help text said that Mercurial would assume 'yes' for all
prompts, but this is confusing since many prompts don't have any 'yes'
choice. It now more accurately describes what will happen.
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2011 19:25:56 -0500] rev 14848
bookmarks: simplify warning code
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2011 19:25:56 -0500] rev 14847
bookmarks: drop superfluous strip
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 05 Jul 2011 10:20:27 +0200] rev 14846
bookmarks: add a warning for non empty malformed line
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 05 Jul 2011 10:13:54 +0200] rev 14845
bookmarks: more robust parsing of bookmarks file
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2011 19:25:53 -0500] rev 14844
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2011 13:43:29 -0500] rev 14843
revsets: catch type error on tip^p1(tip) (issue2884)
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2011 13:37:50 -0500] rev 14842
revsets: do the right thing with x^:y (issue2884)
Given an operator ^ that's either postfix or infix and an operator :
that's either prefix or infix, the parser can't figure out the right
thing to do. So we rewrite the expression to be sensible in the optimizer.
Shun-ichi GOTO <shunichi.goto@gmail.com> [Wed, 06 Jul 2011 18:28:42 +0900] rev 14841
win32mbcs: wrap two more functions to be wrapped.
util.checkwinfilename() and util.checkosfilename() are wrapped.
The former, used by scmutil, is not friendly for Shift_JIS bytes.
The latter is an dynamic alias of checkwinfilename() used by other
modules.
Idan Kamara <idankk86@gmail.com> [Tue, 05 Jul 2011 14:36:33 +0300] rev 14840
commands, merge: call setconfig on the right ui
In practice this doesn't change anything since ui == repo.ui here, but setting
repo.ui explicitly here is clearer since hg.merge will use repo.ui later on.
Idan Kamara <idankk86@gmail.com> [Tue, 05 Jul 2011 14:28:55 +0300] rev 14839
peer: change arg name to convey it can be a repo as well
Augie Fackler <durin42@gmail.com> [Thu, 23 Jun 2011 15:00:45 -0500] rev 14838
progress: add a changedelay to prevent parallel topics from flapping (issue2698)
When combined with the earlier change to make the progress object
truly a singleton, this prevents the progress bar swapping on 'hg
clone --pull' on a local filesystem.
Thanks to timeless for lots of debugging help at the Copenhagen sprint
to isolate the root cause of this and a first draft an idea that would
fix it.
Augie Fackler <durin42@gmail.com> [Thu, 23 Jun 2011 14:55:09 -0500] rev 14837
progress: make progress bar a singleton to avoid double-progress ui bugs
This helps issue2698 a little, but isn't a complete fix, since
generators still can produce some weird progress bar switching.
Augie Fackler <durin42@gmail.com> [Thu, 02 Jun 2011 14:33:01 -0500] rev 14836
progress: remove superfluous parens
Christian Ebert <blacktrash@gmx.net> [Sun, 03 Jul 2011 12:58:03 +0200] rev 14835
keyword: reuse already present working contexts for match
Shortens overlong line as side-effect.
Matt Mackall <mpm@selenic.com> [Tue, 05 Jul 2011 14:30:53 -0500] rev 14834
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 05 Jul 2011 14:30:42 -0500] rev 14833
discovery: quiet note about heads
This was changing output on in/out -v for no good reason.
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 04 Jul 2011 19:53:39 -0300] rev 14832
patch: fix parsing patch files containing CRs not followed by LFs
Since 1e64e1e12195 , patch lines containing a CR not followed by a LF
would be incorrectly splitten, causing a failure to apply the patch.
Jim Hague <jim.hague@acm.org> [Tue, 05 Jul 2011 11:53:32 +0100] rev 14831
treediscovery: rename stop() in tests to fix failures on AIX.
It seems ksh, the default shell on AIX, does not permit the creation of a
function called stop(). test-treediscovery.t and test-treediscovery-legacy.t
both fail on AIX with error 'syntax error at line 25 : `(' unexpected'.
Fix by renaming stop() in the scripts to tstop(). For completeness
rename start() to tstart() to match. Both tests then pass on AIX.
Add check for the use of stop() in a shell script to check-code.
Idan Kamara <idankk86@gmail.com> [Mon, 04 Jul 2011 14:36:16 +0300] rev 14830
fileset: fix typo in binary() doc
Arne Babenhauserheide <bab@draketo.de> [Fri, 01 Jul 2011 22:50:36 +0200] rev 14829
help: fileset foo.lst was named files.lst
Matt Mackall <mpm@selenic.com> [Fri, 01 Jul 2011 13:59:09 -0500] rev 14828
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Jul 2011 13:54:27 -0500] rev 14827
Added signature for changeset de9eb6b1da4f
Matt Mackall <mpm@selenic.com> [Fri, 01 Jul 2011 13:54:25 -0500] rev 14826
Added tag 1.9 for changeset de9eb6b1da4f
Mads Kiilerich <mads@kiilerich.com> [Fri, 01 Jul 2011 17:37:09 +0200] rev 14825
util: rename the util.localpath that uses url to urllocalpath (issue2875)
util is never imported by any other name than util, so this is mostly just a
simple search and replace from util.localpath to util.urllocalpath (assuming
other uses of util.localpath already has been renamed).
Mads Kiilerich <mads@kiilerich.com> [Fri, 01 Jul 2011 18:13:48 +0200] rev 14824
tests: restore previous fix for date ambiguity in cvs test
017ab404e588 changed some sleeps after cvs update to sleeps before commit. I
don't know why that should work, but I have a machine where it doesn't work.
Commits regularly fails becuase cvs doesn't notice that a file has been
changed.
Restoring the previous sleep between the update and the edit makes cvs notice
the change.
Matt Mackall <mpm@selenic.com> [Thu, 30 Jun 2011 19:34:09 -0500] rev 14823
merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 30 Jun 2011 16:36:38 +0200] rev 14822
run-test: revert most of 439ed4721a6d, timeout uses fallback for terminate()
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 30 Jun 2011 16:25:05 +0200] rev 14821
run-tests: fallback to SIGTERM if subprocess.Popen does not have terminate()
Eli Carter <eli.carter@tektronix.com> [Thu, 30 Jun 2011 13:22:12 -0500] rev 14820
subrepo: correct revision in svn checkout
A Subversion subrepo checkout uses a url and --revision which does not do the
correct thing when specifying a revision of a branch that has since been
deleted and recreated. The checkout needs to specify the revision as URL@REV
instead.
Steve Borho <steve@borho.org> [Thu, 30 Jun 2011 12:55:19 -0500] rev 14819
wix: catch up with more added files
revsets: 1.7::tip and adds("mercurial/help/**")
1.7::tip and adds("mercurial/templates/**")
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 30 Jun 2011 20:37:32 -0300] rev 14818
i18n-pt_BR: translate template filter descriptions
Wagner Bruna <wbruna@softwareexpress.com.br> [Thu, 30 Jun 2011 20:05:23 -0300] rev 14817
i18n-ja: recover template translations from 15200b46165b
These translations were removed by 68a697421a57 because the original
strings were transfered to the docstrings (264f292a0c6f) without
the corresponding sources being added to the Makefile for extraction.
Alexander Sauta <demosito@gmail.com> [Fri, 01 Jul 2011 00:26:45 +0400] rev 14816
i18n-ru: fixed mixed up msgid and msgstr in annotate
Alexander Sauta <demosito@gmail.com> [Fri, 01 Jul 2011 00:14:30 +0400] rev 14815
i18n-ru: translated missing strings for commands, some typos corrected
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 29 Jun 2011 18:19:17 -0300] rev 14814
i18n-pt_BR: synchronized with 9adce4b38ed1
Matt Mackall <mpm@selenic.com> [Wed, 29 Jun 2011 16:05:59 -0500] rev 14813
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 29 Jun 2011 16:05:41 -0500] rev 14812
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 30 Jun 2011 01:55:14 +0900] rev 14811
i18n-ja: synchronized with 5c046e4b9652
Alexander Sauta <demosito@gmail.com> [Wed, 29 Jun 2011 19:04:03 +0400] rev 14810
i18n-ru: translated help for urls. Thus, all stock commands and help translated
Alexander Sauta <demosito@gmail.com> [Wed, 29 Jun 2011 16:14:26 +0400] rev 14809
i18n-ru: translated help for templating
Jens Bäckman <jens.backman@gmail.com> [Wed, 29 Jun 2011 09:24:45 +0200] rev 14808
i18n-sv: synchronized with 85857aa6e666
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 28 Jun 2011 14:32:54 -0300] rev 14807
i18n-pt_BR: synchronized with 6ba51c81ff75
Alexander Sauta <demosito@gmail.com> [Tue, 28 Jun 2011 20:42:07 +0400] rev 14806
i18n-ru: translated help for multirevs-subrepos
Martin Geisler <mg@aragost.com> [Tue, 28 Jun 2011 10:06:56 +0200] rev 14805
i18n-da: translate hg.1.html header
Martin Geisler <mg@aragost.com> [Tue, 28 Jun 2011 10:02:39 +0200] rev 14804
i18n: merge with stable
Alexander Sauta <demosito@gmail.com> [Tue, 28 Jun 2011 00:34:49 +0400] rev 14803
i18n-ru: translated help for merge-tools
Alexander Sauta <demosito@gmail.com> [Mon, 27 Jun 2011 21:34:48 +0400] rev 14802
i18n-ru: translated help for hgignore
Martin Geisler <mg@aragost.com> [Tue, 28 Jun 2011 09:58:39 +0200] rev 14801
i18n-pt_BR: add lost translation used in test-i18n.t
Changeset e6a6e7ebd585 replaced the Portuguese translation with the
English original and broke the test.
Martin Geisler <mg@aragost.com> [Tue, 28 Jun 2011 09:42:45 +0200] rev 14800
i18n: merge with main
Martin Geisler <mg@aragost.com> [Tue, 28 Jun 2011 09:39:58 +0200] rev 14799
i18n: merge with main
Alexander Sauta <demosito@gmail.com> [Tue, 28 Jun 2011 00:38:59 +0400] rev 14798
merge with stable
Alexander Sauta <demosito@gmail.com> [Tue, 28 Jun 2011 00:34:49 +0400] rev 14797
i18n-ru: translated help for merge-tools
Alexander Sauta <demosito@gmail.com> [Mon, 27 Jun 2011 21:34:48 +0400] rev 14796
i18n-ru: translated help for hgignore
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 27 Jun 2011 15:12:41 -0300] rev 14795
i18n-pt_BR: synchronized with 72e4fcb43227
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 27 Jun 2011 15:09:55 -0300] rev 14794
i18n-ru: drop executable bit from .po file
Martin Geisler <mg@lazybytes.net> [Mon, 27 Jun 2011 19:11:34 +0200] rev 14793
merge with stable
Martin Geisler <mg@lazybytes.net> [Mon, 27 Jun 2011 19:10:45 +0200] rev 14792
i18n: merge with main
This includes four i18n changesets transplanted from the default
branch to the stable branch since they were made after the freeze.
Alexander Sauta <demosito@gmail.com> [Thu, 23 Jun 2011 10:41:33 +0400] rev 14791
i18n-ru: glossary translated
Alexander Sauta <demosito@gmail.com> [Wed, 22 Jun 2011 02:47:03 +0400] rev 14790
i18n-ru: tranlated docstrings from filesets added in 1575dc5d399a
Alexander Sauta <demosito@gmail.com> [Wed, 22 Jun 2011 02:09:23 +0400] rev 14789
i18n-ru: translated help for extensions and filesets
Alexander Sauta <demosito@gmail.com> [Tue, 21 Jun 2011 01:49:45 +0400] rev 14788
i18n-ru: translated new config.txt
Martin Geisler <mg@lazybytes.net> [Mon, 27 Jun 2011 19:06:18 +0200] rev 14787
i18n: merge with main
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 27 Jun 2011 13:50:31 -0300] rev 14786
i18n-pt_BR: synchronized with 94eea58da2a3
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 27 Jun 2011 13:48:25 -0300] rev 14785
fileset: add i18n hints for keywords
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 27 Jun 2011 13:24:28 -0300] rev 14784
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 27 Jun 2011 13:24:01 -0300] rev 14783
merge with i18n
Jens Bäckman <jens@titv.se> [Thu, 23 Jun 2011 22:35:44 +0200] rev 14782
18n-sv: translated all new fuzzy strings
Alexander Sauta <demosito@gmail.com> [Thu, 23 Jun 2011 10:41:33 +0400] rev 14781
i18n-ru: glossary translated
Alexander Sauta <demosito@gmail.com> [Wed, 22 Jun 2011 02:47:03 +0400] rev 14780
i18n-ru: tranlated docstrings from filesets added in 1575dc5d399a
Alexander Sauta <demosito@gmail.com> [Wed, 22 Jun 2011 02:09:23 +0400] rev 14779
i18n-ru: translated help for extensions and filesets
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 21 Jun 2011 19:00:27 -0300] rev 14778
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 20 Jun 2011 19:24:50 -0300] rev 14777
i18n-pt_BR: synchronized with 6c7283faa967
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 21 Jun 2011 18:37:15 -0300] rev 14776
merge with i18n
Alexander Sauta <demosito@gmail.com> [Tue, 21 Jun 2011 01:49:45 +0400] rev 14775
i18n-ru: translated new config.txt
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 20 Jun 2011 17:00:04 -0300] rev 14774
i18n-pt_BR: messages from crew f9c056f48018
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 20 Jun 2011 16:56:15 -0300] rev 14773
i18n-pt_BR: synchronized with 15200b46165b
Adrian Buehlmann <adrian@cadifra.com> [Wed, 29 Jun 2011 12:54:34 +0200] rev 14772
wix: add missing templates/paper/diffstat.tmpl
Jesse Long <jpl@unknown.za.net> [Wed, 29 Jun 2011 09:36:45 +0200] rev 14771
hgweb: treat branch attribute `closed' as more important than `inactive'
In the branches page, branches that are closed and are merged into another
branch are displayed as `inactive'. This patch changes that behaviour to
show these branches as `closed'.
For me, the `closed' attribute is more important than the `inactive'
attribute.
Branches that are not closed, and are merged into other branches will still
be shown as `inactive'.
Branches that are closed, and are not merged into other branches will still
be shown as `closed'.
Idan Kamara <idankk86@gmail.com> [Wed, 29 Jun 2011 15:49:35 +0300] rev 14770
tests: add basic commandserver test
Brodie Rao <brodie@bitheap.org> [Wed, 29 Jun 2011 13:20:40 -0400] rev 14769
color: for the sake of "less -R", default to ansi in auto mode (issue2792)
less with the -R option only supports ANSI color codes, and terminfo
mode issue non-ANSI color codes (depending on the database). The -r
option can work around this, but there are users currently using the
-R option, and defaulting to terminfo would break colorization in less
for them without warning.
Brodie Rao <brodie@bitheap.org> [Wed, 29 Jun 2011 13:20:39 -0400] rev 14768
color: fix TypeError with auto mode on win32 when colors aren't available (issue2871)
This can happen when stdout isn't a terminal (e.g., it's being piped).
Adrian Buehlmann <adrian@cadifra.com> [Tue, 28 Jun 2011 00:56:33 +0200] rev 14767
test-revert: add revert --all case when nothing changed
supposed to succeed without notice
Matt Mackall <mpm@selenic.com> [Wed, 29 Jun 2011 16:01:06 -0500] rev 14766
subrepos: be smarter about what's an absolute path (issue2808)
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 29 Jun 2011 13:04:00 +0200] rev 14765
test-wireprotocol.py: rename to test-wireproto.py for consistency
1. The module named 'wireproto' is tested.
2. There already is a test-wireproto.t for related tests on shell level.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 29 Jun 2011 15:00:00 +0200] rev 14764
classes: fix class style problems found by b071cd58af50
This makes test-wireprotocol.py work on Python 2.4
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 29 Jun 2011 13:45:51 +0200] rev 14763
check-code: fix class style checking (with tests)
- old-style classes were only checked for one-letter class names
- add check for new-style classes with empty parent class, because
this is not available in Python 2.4
Mads Kiilerich <mads@kiilerich.com> [Wed, 29 Jun 2011 00:19:27 +0200] rev 14762
tests: ignore inotify extension in test-duplicateoptions.py
The inotify extension is only available on linux and setup.py will not install
it on other platforms - but it will of course always be there in the source.
test-duplicateoptions.py tried to load most extensions (including inotify if
available). When the local uninstalled Mercurial was used it would thus always
load the inotify extension and cause a warning on unsupported platforms.
The inotify extension is not relevant for this test, so now we explicitly
ignore it.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 25 Jun 2011 02:30:17 +0200] rev 14761
error: Add a hint argument to RepoError
This use the same mechanism than Abort. Except clause stay distinct
because RepoError add "!" at the end of the message.
Adrian Buehlmann <adrian@cadifra.com> [Tue, 28 Jun 2011 00:56:33 +0200] rev 14760
test-revert: add revert --all case when nothing changed
supposed to succeed without notice
Matt Mackall <mpm@selenic.com> [Mon, 27 Jun 2011 16:39:02 -0500] rev 14759
merge with stable
Danek Duvall <duvall@comfychair.org> [Mon, 27 Jun 2011 11:36:42 -0700] rev 14758
color: be silent when falling back to ECMA-48 mode if "auto" mode was desired
Don't warn about missing setab/setaf terminfo entries unless we explicitly
asked for terminfo mode; fallback to ECMA-48 mode silently.
Danek Duvall <duvall@comfychair.org> [Mon, 27 Jun 2011 11:36:40 -0700] rev 14757
tests: hardcode terminfo entry for the terminfo color test
For the terminfo color test, make sure that the terminfo entry used is one
of our own choosing, by delivering a special "hgterm" entry (a copy of
ncurses' xterm-color), compiling it, and specifically pointing curses to it
using the TERMINFO and TERM environment variables. This means we can
ignore the variability in different terminal definitions on different
platforms.
Wagner Bruna <wbruna@yahoo.com> [Sun, 26 Jun 2011 15:47:39 -0300] rev 14756
localrepo: mark progress step for translation
Adrian Buehlmann <adrian@cadifra.com> [Sun, 26 Jun 2011 01:13:30 +0200] rev 14755
revert: improve hints on abort when reverting to parent without --all
BEFORE:
$ hg revert
abort: no files or directories specified
(use --all to discard all changes)
AFTER:
Uncommitted changes (using --all *will* nuke edits):
$ hg revert
abort: no files or directories specified
(uncommitted changes, use --all to discard all changes)
Clean working directory (using --all won't discard anything):
$ hg revert
abort: no files or directories specified
(use --all to revert all files)
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 19:44:59 +0300] rev 14754
dispatch: set config options on the request repo.ui
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 19:44:59 +0300] rev 14753
dispatch: return read config options
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 19:44:58 +0300] rev 14752
dispatch: set global options on the request repo.ui
If the request has a repo, and global options such as --verbose are passed,
we need to set those explicitly on the repo.ui.
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 19:44:17 +0300] rev 14751
cmdserver: assign repo.baseui before running commands
There are places in the code that use localrepository.baseui (see hg.remoteui),
we need the ui descriptors (and possibly other things) to be set
correctly on it, so output written to the remoteui descriptors ends up at the
right place.
Before this change, tests such as 'test-bookmarks-pushpull.t' didn't work.
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 19:43:59 +0300] rev 14750
cmdserver: copy repo.ui before running commands
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 17:04:37 +0300] rev 14749
filemerge: use ui out descriptor when calling util.system
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 12:16:14 +0300] rev 14748
dispatch: make sure unspecified global ui options don't override old values
Matt Mackall <mpm@selenic.com> [Mon, 27 Jun 2011 11:19:27 -0500] rev 14747
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 25 Jun 2011 02:30:24 +0200] rev 14746
requirements: show all missing features in the error message.
Displaying all missing featureis help people to solve the issue (choosing the
right version, creation the right repo)
Adrian Buehlmann <adrian@cadifra.com> [Fri, 24 Jun 2011 23:29:51 +0200] rev 14745
test-revert: add case for nothing changed
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 19:38:28 +0300] rev 14744
dispatch: set descriptors on the request repo.ui
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 19:36:44 +0300] rev 14743
dispatch: pass the correct ui to runcommand
For commands that take a repo, repo.ui is passed as the ui to runcommand.
This restores that behaviour when the request has a repo.
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 17:04:37 +0300] rev 14742
archive: wrap the ui descriptor so it doesn't get closed
archival.tarit closes the fileobj if one is passed to it, which is undesired
when reading from '-'.
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 19:27:53 +0300] rev 14741
transplant: use ui out descriptor when calling util.system
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 17:04:37 +0300] rev 14740
bisect: use ui out descriptor when calling util.system
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 17:04:37 +0300] rev 14739
extdiff: use ui out descriptor when calling util.system
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 17:04:37 +0300] rev 14738
ui: use ui out descriptor when calling util.system
David Golub [Fri, 24 Jun 2011 11:39:12 -0400] rev 14737
call reposetup for repositories returned from peer (issue2864)
Extension setup functions were not being called when repositories were
obtained using the peer function instead of the repository function.
Mads Kiilerich <mads@kiilerich.com> [Sat, 25 Jun 2011 01:55:16 +0200] rev 14736
tests: solaris [ doesn't know -e
Mads Kiilerich <mads@kiilerich.com> [Sat, 25 Jun 2011 01:55:15 +0200] rev 14735
convert: fix git convert on solaris - it cannot remove environment variables
Mads Kiilerich <mads@kiilerich.com> [Sat, 25 Jun 2011 01:55:13 +0200] rev 14734
tests: HGRCPATH must be exported after assignment
- at least on Solaris
Matt Mackall <mpm@selenic.com> [Fri, 24 Jun 2011 18:00:29 -0500] rev 14733
merge with stable
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 23:25:42 +0300] rev 14732
backout of d04ba50e104d: allow to qpop/push with a dirty working copy
The new behavior was breaking existing tools that relied on a sequence such as
this:
1) start with a dirty working copy
2) qimport some patch
3) try to qpush it
4) old behavior would fail at this point due to outstanding changes.
(new behavior would only fail if the outstanding changes and the patches
changes intersect)
5) innocent user qrefreshes, gets his local changes in the imported patch
It's worth considering if we can move this behavior to -f in the future.
Matt Mackall <mpm@selenic.com> [Fri, 24 Jun 2011 13:35:44 -0500] rev 14731
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 24 Jun 2011 13:35:03 -0500] rev 14730
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Fri, 24 Jun 2011 10:31:44 +0200] rev 14729
update: do not use the term 'update' when mentioning reverting one file
and give a more precise hint for how to revert such a file
I'm using the term 'revision' instead of 'changeset' in this change to be
consistent with the REV we use in the synopsis.
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 16:36:24 +0300] rev 14728
cmdserver: fix read-loop string concatenation
Idan Kamara <idankk86@gmail.com> [Fri, 24 Jun 2011 16:30:43 +0300] rev 14727
dispatch: check for None before closing repo
We were trying to call close() if repo == None and req.repo != None.
This can happen when running commands that don't take a repo.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 24 Jun 2011 12:37:29 +0200] rev 14726
revert: mention update in hint of abort when reverting to non-parent
and explicitly warn about uncommitted changes
Examples:
BEFORE:
$ hg par -q
7:e81a2efd53d4
$ hg revert -r 2
abort: no files or directories specified
(use --all to discard all changes)
AFTER:
Clean working directory (revert can be easily undone, no edits to be lost):
$ hg revert -r 2
abort: no files or directories specified
(use --all to revert all files, or 'hg update 2' to update)
Uncommitted changes (revert --all *does* discard edits and is pretty hard to
undo or even impossible if --no-backup is specified):
$ hg revert -r 2
abort: no files or directories specified
(uncommitted changes, use --all to discard all changes, or 'hg update 2' to update)
Adrian Buehlmann <adrian@cadifra.com> [Fri, 24 Jun 2011 10:51:05 +0200] rev 14725
update: clarify that update changes the parent revison
Matt Mackall <mpm@selenic.com> [Fri, 24 Jun 2011 00:21:00 -0500] rev 14724
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 22 Jun 2011 01:55:00 +0200] rev 14723
revset: fix aliases with 0 or more than 2 parameters
The existing code seemed to have incorrect assumptions about how parameter
lists are represented by the parser.
Now the match and replace functions have been merged and simplified by using
getlist().
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Thu, 23 Jun 2011 14:40:57 +0200] rev 14722
match: fix bug caused by refactoring in cfc89398f710
Adrian Buehlmann <adrian@cadifra.com> [Wed, 22 Jun 2011 15:34:33 +0200] rev 14721
revert: be more helpful on uncommitted merges
BEFORE:
$ hg revert
abort: no files or directories specified
(use --all to discard all changes)
AFTER:
$ hg revert
abort: no files or directories specified
(uncommitted merge, use --all to discard all changes, or 'hg update -C .' to abort the merge)
Adrian Buehlmann <adrian@cadifra.com> [Wed, 22 Jun 2011 10:13:44 +0200] rev 14720
opener: add self._audit (issue2862)
Idan Kamara <idankk86@gmail.com> [Wed, 22 Jun 2011 17:13:04 +0300] rev 14719
cmdserver: write the hello message as one chunk on the 'o' channel
This is a guaranteed by the protocol: clients know they need to read one chunk
off of the 'o' channel and treat that as the hello message.
They should ignore fields they don't recognize so they stay compatible with
new versions of the server in case we decide to add something.
Mads Kiilerich <mads@kiilerich.com> [Fri, 24 Jun 2011 01:10:35 +0200] rev 14718
fileset: copied takes no arguments
Mads Kiilerich <mads@kiilerich.com> [Wed, 22 Jun 2011 01:55:00 +0200] rev 14717
revset and fileset: fix typos in parser error messages
Mads Kiilerich <mads@kiilerich.com> [Fri, 24 Jun 2011 00:18:41 +0200] rev 14716
fileset: use ParseError pos field correctly
The pos field is intended to describe the position of the error - it should not
be used for other potentially interesting information.
Mads Kiilerich <mads@kiilerich.com> [Fri, 24 Jun 2011 00:18:06 +0200] rev 14715
revset: fix parameter name in implementation of follow()
Matt Mackall <mpm@selenic.com> [Tue, 21 Jun 2011 17:27:20 -0500] rev 14714
merge with stable
Kevin Bullock <kbullock@ringworld.org> [Mon, 20 Jun 2011 22:15:52 -0500] rev 14713
revert: be more explicit that changes are lost
BEFORE:
$ hg revert
abort: no files or directories specified
(use --all to revert all files)
AFTER:
$ hg revert
abort: no files or directories specified
(use --all to discard all changes)
Idan Kamara <idankk86@gmail.com> [Tue, 21 Jun 2011 17:08:21 +0300] rev 14712
dispatch: do not close the request repo
Closing here means we've closed the repo passed to us in the request,
which is not our responsibility.
This is essential for bundlerepo, and possibly other localrepository
subclasses who do something in their close().
Idan Kamara <idankk86@gmail.com> [Tue, 21 Jun 2011 16:55:21 +0300] rev 14711
hook: write hook output to ui fout descriptor
output on stderr will also be written to ui.fout, unless sys.__stdout__
is passed in (see util.system), thus not changing previous behavior.
This fixes a bug where hooks run through the command server would mess up
with the command protocol, sending non-channeled data to the client.
Matt Mackall <mpm@selenic.com> [Tue, 21 Jun 2011 15:26:44 -0500] rev 14710
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 21 Jun 2011 15:21:57 -0500] rev 14709
check-code: don't mark debug messages for translation
David Soria Parra <dsp@php.net> [Tue, 21 Jun 2011 18:35:13 +0200] rev 14708
i18n: remove translation of debug messages
Idan Kamara <idankk86@gmail.com> [Tue, 21 Jun 2011 15:38:10 +0300] rev 14707
cmdserver, runcommand: properly handle the client sending no arguments
No real reason for a client to do this, but still possible.
Previously if the client sent no arguments, a list with an empty string ['']
would be used as the arguments to dispatch, which would cause hg to complain
about an ambiguous command.
Instead, we simply check for no arguments and use an empty list instead (which
is equivalent to invoking hg with no args on the command line).
Idan Kamara <idankk86@gmail.com> [Tue, 21 Jun 2011 15:13:39 +0300] rev 14706
cmdserver: don't raise EOFError when trying to read 0 bytes from the client
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 20 Jun 2011 19:08:41 -0300] rev 14705
i18n: extract docstrings from fileset module
Martin Geisler <mg@aragost.com> [Tue, 21 Jun 2011 14:57:17 +0200] rev 14704
Backed out changeset 1ec8bd909ac3
Debug messages should not be translated.
Martin Geisler <mg@aragost.com> [Tue, 21 Jun 2011 14:00:26 +0200] rev 14703
merge with stable
David Soria Parra <dsp@php.net> [Tue, 21 Jun 2011 13:24:19 +0200] rev 14702
dispatch: translate alias debugging messages
Mads Kiilerich <mads@kiilerich.com> [Tue, 21 Jun 2011 00:17:52 +0200] rev 14701
parsers: fix localization markup of parser errors
Ollie Rutherfurd <orutherfurd@gmail.com> [Sun, 19 Jun 2011 22:33:25 -0400] rev 14700
fileset: use correct function name for hgignore in docstring
docstring refereed to "resolved" instead of "hgignore"
Matt Mackall <mpm@selenic.com> [Mon, 20 Jun 2011 16:45:33 -0500] rev 14699
url: catch UNC paths as yet another Windows special case (issue2808)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 20 Jun 2011 14:11:01 +0200] rev 14698
treediscovery: always return all remote heads
Old discovery only returned incoming heads, not all of them (for
changegroupsubset). New discovery must always return all of the remote heads
(for getbundle). I failed to properly adjust treediscovery in cb98fed52495
when introducing setdiscovery.
The actual observable problem was 'remote: unsynced changes' when trying
to push a cset on one named branch to a server with a new cset on another
named branch. This scenario is now tested in test-treediscovery.t.
Sune Foldager <cryo@cyanite.org> [Mon, 20 Jun 2011 11:08:41 +0200] rev 14697
merge with stable
Sune Foldager <cryo@cyanite.org> [Mon, 20 Jun 2011 10:51:37 +0200] rev 14696
config.sortdict: override clear method
Overrides dict.clear. It's not currently used, but was broken for sortdict.
Contributed by Stepan Koltsov <yozh@mx1.ru>
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 20 Jun 2011 09:30:03 +0200] rev 14695
patch: fix typo in variable name
Martin Geisler <mg@aragost.com> [Mon, 20 Jun 2011 10:42:19 +0200] rev 14694
merge with stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 17 Jun 2011 19:28:38 -0300] rev 14693
help/revsets: revset aliases can be defined on any config file
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 17 Jun 2011 19:27:40 -0300] rev 14692
help/revsets: clean up whitespace between paragraphs
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 17 Jun 2011 19:14:47 -0300] rev 14691
help/config: mention [revsetalias] section
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 19 Jun 2011 11:43:40 +0200] rev 14690
fileset: add missing whitespace around operator
Matt Mackall <mpm@selenic.com> [Sat, 18 Jun 2011 20:49:07 -0500] rev 14689
fileset: drop backwards SI size units
- the power of 2 ones should be kiB, MiB, etc.
- the power of 10 ones (SI standard) should be kB, MB, but we're currently
using the industry traditional units elsewhere
Matt Mackall <mpm@selenic.com> [Sat, 18 Jun 2011 20:36:39 -0500] rev 14688
remove bogus test copy
Matt Mackall <mpm@selenic.com> [Sat, 18 Jun 2011 17:03:01 -0500] rev 14687
merge default branch into stable to mark the start of the code freeze
Matt Mackall <mpm@selenic.com> [Sat, 18 Jun 2011 16:53:49 -0500] rev 14686
fileset: add a help topic
Add crosslinking with patterns topic.
Matt Mackall <mpm@selenic.com> [Sat, 18 Jun 2011 16:53:49 -0500] rev 14685
fileset: add copied predicate
Matt Mackall <mpm@selenic.com> [Sat, 18 Jun 2011 16:53:49 -0500] rev 14684
fileset: add encoding() predicate
Matt Mackall <mpm@selenic.com> [Sat, 18 Jun 2011 16:53:49 -0500] rev 14683
fileset: add size() predicate
Matt Mackall <mpm@selenic.com> [Sat, 18 Jun 2011 16:53:49 -0500] rev 14682
fileset: add grep predicate
Matt Mackall <mpm@selenic.com> [Sat, 18 Jun 2011 16:53:49 -0500] rev 14681
fileset: add some function help text