Mon, 09 Jan 2012 14:56:05 +0100 sslutil: abort properly if no certificate received for https connection
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.
Mon, 09 Jan 2012 14:43:25 +0100 sslutil: work around validator crash getting certificate on failed sockets
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.
Mon, 09 Jan 2012 14:43:24 +0100 sslutil: reorder validator code to make it more readable
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:43:24 +0100] rev 15815
sslutil: reorder validator code to make it more readable
Mon, 09 Jan 2012 14:43:24 +0100 sslutil: show fingerprint when cacerts validation fails
Mads Kiilerich <mads@kiilerich.com> [Mon, 09 Jan 2012 14:43:24 +0100] rev 15814
sslutil: show fingerprint when cacerts validation fails
Mon, 09 Jan 2012 14:43:23 +0100 sslutil: handle setups without .getpeercert() early in the validator
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.
Mon, 09 Jan 2012 14:43:15 +0100 sslutil: verify that wrap_socket really wrapped the socket
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".
Sun, 08 Jan 2012 17:46:27 +0100 largefiles: remove pasted code
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
Sun, 08 Jan 2012 17:09:01 +0100 largefiles: add tests for uncovered codepaths (issue3092)
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
Sun, 08 Jan 2012 17:06:34 +0100 largefiles: add error checking to tags conversion (issue3092)
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.
Sun, 08 Jan 2012 17:03:39 +0100 largefiles: don't reference uninitialized variable (issue3092)
Levi Bard <levi@unity3d.com> [Sun, 08 Jan 2012 17:03:39 +0100] rev 15808
largefiles: don't reference uninitialized variable (issue3092)
Mon, 09 Jan 2012 20:17:37 -0600 merge with i18n
Matt Mackall <mpm@selenic.com> [Mon, 09 Jan 2012 20:17:37 -0600] rev 15807
merge with i18n
Sun, 08 Jan 2012 13:54:36 +0400 i18n-ru: synchronized with e251250ac20b
Alexander Sauta <demosito@gmail.com> [Sun, 08 Jan 2012 13:54:36 +0400] rev 15806
i18n-ru: synchronized with e251250ac20b
Sun, 08 Jan 2012 03:48:09 +0700 i18n-ru: revsets predicates translated
Andrei Polushin <polushin@gmail.com> [Sun, 08 Jan 2012 03:48:09 +0700] rev 15805
i18n-ru: revsets predicates translated
Fri, 06 Jan 2012 00:16:14 +0400 i18-ru: debug commands translated
Alexander Sauta <demosito@gmail.com> [Fri, 06 Jan 2012 00:16:14 +0400] rev 15804
i18-ru: debug commands translated
Thu, 05 Jan 2012 02:04:30 +0400 i18n-ru: user prompt related strings translated
Alexander Sauta <demosito@gmail.com> [Thu, 05 Jan 2012 02:04:30 +0400] rev 15803
i18n-ru: user prompt related strings translated
Thu, 05 Jan 2012 01:00:43 +0400 i18n-ru: tanslated record-zeroconf
Alexander Sauta <demosito@gmail.com> [Thu, 05 Jan 2012 01:00:43 +0400] rev 15802
i18n-ru: tanslated record-zeroconf
Mon, 09 Jan 2012 20:16:57 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 09 Jan 2012 20:16:57 -0600] rev 15801
merge with stable
Sun, 08 Jan 2012 23:09:35 +0800 rebase: reinstate old-style rev spec support for the source and base (issue3181) 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.
Fri, 06 Jan 2012 07:37:59 +0100 dirstate: propagate IOError other than ENOENT when reading branch stable
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
Fri, 06 Jan 2012 15:05:51 +0100 mq: Document that qdel requires exact patch identifiers stable
Olav Reinert <seroton10@gmail.com> [Fri, 06 Jan 2012 15:05:51 +0100] rev 15798
mq: Document that qdel requires exact patch identifiers
Sun, 08 Jan 2012 15:23:26 +0100 canonpath: allow canonicalization of non-existant paths
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.
Sun, 08 Jan 2012 14:33:10 +0100 largefiles: factor out a copyalltostore() function
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 08 Jan 2012 14:33:10 +0100] rev 15796
largefiles: factor out a copyalltostore() function
Sat, 07 Jan 2012 19:11:31 +0100 largefiles: add precommit hook to check for inappropriate locking
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.
Sat, 07 Jan 2012 19:05:59 +0100 largefiles: fix inappropriate locking (issue3182)
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.
Sat, 07 Jan 2012 18:43:34 +0100 largefiles: correctly handle dirstate status when rebasing
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.
Sat, 07 Jan 2012 12:42:54 +0100 largefiles: implement addremove (issue3064)
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.
Sun, 08 Jan 2012 18:15:54 +0100 Use explicit integer division
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.
Sun, 08 Jan 2012 17:57:25 +0100 cvsps: pull function definition out of loop
Martin Geisler <mg@aragost.com> [Sun, 08 Jan 2012 17:57:25 +0100] rev 15790
cvsps: pull function definition out of loop
(0) -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 +30000 tip