Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:56:05 +0100] rev 15817
sslutil: abort properly if no certificate received for https connection
According to the documentation SSLSocket.getpeercert() can return None.
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:43:25 +0100] rev 15816
sslutil: work around validator crash getting certificate on failed sockets
The previous workaround for correct handling of wrapping of failing connections
might be enough to prevent this from happening, but the check here makes this
function more robust.
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:43:24 +0100] rev 15815
sslutil: reorder validator code to make it more readable
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:43:24 +0100] rev 15814
sslutil: show fingerprint when cacerts validation fails
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:43:23 +0100] rev 15813
sslutil: handle setups without .getpeercert() early in the validator
This simplifies the code and makes the flow more obvious and reduces the
indentation level.
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:43:15 +0100] rev 15812
sslutil: verify that wrap_socket really wrapped the socket
This works around that ssl.wrap_socket silently skips ssl negotiation on
sockets that was connected but since then has been reset by the peer but not
yet closed at the Python level. That leaves the socket in a state where
.getpeercert() fails with an AttributeError on None. See
http://bugs.python.org/
issue13721 .
A call to .cipher() is now used to verify that the wrapping really did succeed.
Otherwise it aborts with "ssl connection failed".
Levi Bard <levi@unity3d.com> [Sun, 08 Jan 2012 17:46:27 +0100] rev 15811
largefiles: remove pasted code
Refactor and remove pasted code from lfcommands.py
Levi Bard <levi@unity3d.com> [Sun, 08 Jan 2012 17:09:01 +0100] rev 15810
largefiles: add tests for uncovered codepaths (
issue3092)
Add tests for lfconvert codepaths where:
* largefiles have been both renamed and relinked
* .hgtags has invalid content
Levi Bard <levi@unity3d.com> [Sun, 08 Jan 2012 17:06:34 +0100] rev 15809
largefiles: add error checking to tags conversion (
issue3092)
Check for errors when parsing .hgtags during lfconvert,
and skip lines that don't parse or refer to invalid changesets.
Levi Bard <levi@unity3d.com> [Sun, 08 Jan 2012 17:03:39 +0100] rev 15808
largefiles: don't reference uninitialized variable (
issue3092)
Matt Mackall <mpm@selenic.com> [Mon, 09 Jan 2012 20:17:37 -0600] rev 15807
merge with i18n
Alexander Sauta <demosito@gmail.com> [Sun, 08 Jan 2012 13:54:36 +0400] rev 15806
i18n-ru: synchronized with
e251250ac20b
Andrei Polushin <polushin@gmail.com> [Sun, 08 Jan 2012 03:48:09 +0700] rev 15805
i18n-ru: revsets predicates translated
Alexander Sauta <demosito@gmail.com> [Fri, 06 Jan 2012 00:16:14 +0400] rev 15804
i18-ru: debug commands translated
Alexander Sauta <demosito@gmail.com> [Thu, 05 Jan 2012 02:04:30 +0400] rev 15803
i18n-ru: user prompt related strings translated
Alexander Sauta <demosito@gmail.com> [Thu, 05 Jan 2012 01:00:43 +0400] rev 15802
i18n-ru: tanslated record-zeroconf
Matt Mackall <mpm@selenic.com> [Mon, 09 Jan 2012 20:16:57 -0600] rev 15801
merge with stable
Steven Brown <StevenGBrown@gmail.com> [Sun, 08 Jan 2012 23:09:35 +0800] rev 15800
rebase: reinstate old-style rev spec support for the source and base (
issue3181)
As of
b12362ab13e7 (first released as part of Mercurial 2.0), the rebase command
accepted ONLY revsets for the source and base arguments and no longer accepted
old-style revision specifications. As a result, some revision names were no
longer recognised, e.g.
hg rebase --base br-anch
abort: unknown revision 'br'!
These arguments are now interpreted first as old-style revision specifications,
then as revsets when no matching revision is found. This restores backwards
compatibility with releases prior to 2.0.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 Jan 2012 07:37:59 +0100] rev 15799
dirstate: propagate IOError other than ENOENT when reading branch
Olav Reinert <seroton10@gmail.com> [Fri, 06 Jan 2012 15:05:51 +0100] rev 15798
mq: Document that qdel requires exact patch identifiers
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 08 Jan 2012 15:23:26 +0100] rev 15797
canonpath: allow canonicalization of non-existant paths
Such as a copy destination; see the added test.
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 08 Jan 2012 14:33:10 +0100] rev 15796
largefiles: factor out a copyalltostore() function
Levi Bard <levi@unity3d.com> [Sat, 07 Jan 2012 19:11:31 +0100] rev 15795
largefiles: add precommit hook to check for inappropriate locking
This tests for inappropriate locking (
issue3182) by running hg status
as a precommit hook.
Levi Bard <levi@unity3d.com> [Sat, 07 Jan 2012 19:05:59 +0100] rev 15794
largefiles: fix inappropriate locking (
issue3182)
Don't lock/write on operations that should be readonly (status).
Always lock when writing the lfdirstate (rollback).
Don't write lfdirstate until after committing; state isn't actually changed
until the commit is complete.
Na'Tosha Bard <natosha@unity3d.com> [Sat, 07 Jan 2012 18:43:34 +0100] rev 15793
largefiles: correctly handle dirstate status when rebasing
When rebasing, we need to trust that the standins are always correct. The
rebase operation updates the standins according to the changeset it is
rebasing. We need to make the largefiles in the working copy match. If we
don't make them match, then they get accidentally reverted, either during
the rebase or during the next commit after the rebase.
This worked previously only becuase we were relying on the behavior that
largefiles with a changed standin, but unchanged contents, never showed up in
the list of modified largefiles. Unfortunately, pre-commit hooks can get
an incorrect status this way, and it also results in extra execution of code.
The solution is to simply trust the standins when we are about to commit a
rebased changeset, and politely ask updatelfiles() to pull the new contents
down. In this case, updatelfiles() will also mark any files it has pulled
down as dirty in the lfdirstate so that pre-commit hooks will get correct
status output.
Na'Tosha Bard <natosha@unity3d.com> [Sat, 07 Jan 2012 12:42:54 +0100] rev 15792
largefiles: implement addremove (
issue3064)
Implementing addremove correctly in largefiles is tricky, becuase the original
addremove function does not call into any of the add or remove function we've
already overridden in the extension. So the trick is to implement addremove
without duplicating any code.
This patch implements addremove by pulling out the interesting parts of
override_add() and override_remove() into generic utility functions, and
using those to handle the largefiles in addremove. Then a matcher is
installed that will ignore all largefiles, and the original addremove
function is called to take care of the regular files in addremove.
A small bit of monkey patching is used to make sure that remove_largefiles()
notifies the user when a file is removed by addremove and also makes sure
the removal of largefiles doesn't interfer with the original addremove's
operation of removing the standin.
Martin Geisler <mg@aragost.com> [Sun, 08 Jan 2012 18:15:54 +0100] rev 15791
Use explicit integer division
Found by running the test suite with the -3 flag to show places where
we have int / int division that can be replaced with int // int.
Martin Geisler <mg@aragost.com> [Sun, 08 Jan 2012 17:57:25 +0100] rev 15790
cvsps: pull function definition out of loop