Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19834
hgweb: eliminate extra complexity in process_dates definition
There was an extra anonymous outer function, called immediately. It is removed
in this patch.
Siddharth Agarwal <sid0@fb.com> [Mon, 30 Sep 2013 12:36:26 -0700] rev 19833
util.h: backout 06badf7d10dc and 2c9645c0a582 for big-endian breakage
getbe32 and putbe32 need to behave differently on big-endian and little-endian
systems. On big-endian ones, they should be roughly equivalent to the identity
function with a cast, but on little-endian ones they should reverse the order
of the bytes. That is achieved by the original definition, but
__builtin_bswap32 and _byteswap_ulong, as the names suggest, swap bytes around
unconditionally.
There was no measurable performance improvement, so there's no point adding
extra complexity with even more ifdefs for endianncess.
Matt Mackall <mpm@selenic.com> [Mon, 30 Sep 2013 12:38:08 -0700] rev 19832
merge with stable
Martin Schröder <martin.schroeder@nerdluecht.de> [Mon, 30 Sep 2013 20:54:39 +0200] rev 19831
i18n-de: fix record prompt (issue4044)
Martin Schröder <martin.schroeder@nerdluecht.de> [Mon, 30 Sep 2013 20:04:03 +0200] rev 19830
i18n-de: synchronized with bd5c1b49d106
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 24 Sep 2013 13:34:12 -0300] rev 19829
i18n-pt_BR: synchronized with bd5c1b49d106
Kevin Bullock <kbullock@ringworld.org> [Fri, 27 Sep 2013 21:54:53 -0500] rev 19828
strip: bring extension description in line with style and copy-edit
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Sep 2013 11:11:39 +0200] rev 19827
strip: rename test-mq-strip into test-strip
And makes it use the strip extension only (except for the part testing mq
interaction)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Sep 2013 23:57:21 +0200] rev 19826
mq: extract strip function as its standalone extension (issue3824)
Strip now lives in its own extension
reminder: The extension is surprisingly called `strip`. The `mq` extension
force the use of the strip extension when its enabled. This is both necessary
for backward compatibility (people expect `mq` to comes with strip) and become
some utility function used by `mq` are now in the strip extension.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Sep 2013 23:43:00 +0200] rev 19825
strip: move the strip helper function for mq to strip
The next patch finally move the command. No joke! (hey, this is for issue3824)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Sep 2013 23:32:52 +0200] rev 19824
strip: move checklocalchanges from mq to strip
One more step for issue3824.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Sep 2013 23:12:43 +0200] rev 19823
strip: move checksubstate from mq to strip
One more step for issue3824
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Sep 2013 23:10:11 +0200] rev 19822
mq: prepare a strip extension for extraction
Strip will lives in its own extension. The extension is surprisingly called
`strip`. (as discussed in issue3824) The `mq` extension force the use of the
strip extension when its enabled. This will both necessary for backward
compatibility (people expect `mq` to comes with strip) and become some utility
function used by `mq` will move in the strip extension.
David Soria Parra <dsp@experimentalworks.net> [Thu, 26 Sep 2013 14:47:19 +0200] rev 19821
histedit: remove unused parents() call
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 14:16:51 +0200] rev 19820
mq: have the strip command functionnal on repo without mq
This is the last step before being able to extract `strip` in its own extension.
The changes are made in mq to allow a move only extraction without touching a
line of code.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 14:07:37 +0200] rev 19819
mq: extract `mq.queue.strip`
It does not depend on `mq.queue` anymore.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 13:41:43 +0200] rev 19818
mq: drop the use of mq.queue.qparent in mq.queue.strip
Same as in the previous changeset, rev is never `None`. We can just copy the two
relevant lines in in `queue.strip`. This help having `queue.strip` independent
from `queue`. One further step toward the extraction of `strip` in an independent
extension. (As discussed in issue3824).
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 14:10:34 +0200] rev 19817
mq: drop the use of mq.queue.qparent in mq.strip
In this case, rev is never `None`. We can just copy the two relevant lines in
in `strip`. This help having `strip` independent from `queue` one
further step toward its extraction in an independent extension. (As
discussed in issue3824).
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 19:34:45 +0200] rev 19816
mq: document repo.mq.qparents
The function is not very complex but writing this doc helped me to check if
I got everything right.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 19:32:53 +0200] rev 19815
mq: use the new checklocalchange in the strip command
The strip command never use the `refresh` argument. So we can use the function
we just extracted.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 12:43:14 +0200] rev 19814
mq: extract checklocalchanges from `mq.queue`
The core part of `checklocalchanges` is now mq independent. We can extract it in
a standalone function to help the extraction of `strip` as discussed in issue3824.
A `checklocalchanges` function stay in `mq.queue` with the part related to
"refresh first" messages.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 11:24:43 +0200] rev 19813
mq: extract checksubstate from the queue class
This function does not need any of the the `mq.queue` method or attributes. It
is indirectly used by the `strip` command. We are trying to extract this command
in a standalone extension as discussed in issue issue3824.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 12:28:40 +0200] rev 19812
mq: simplifies the refresh hint in checklocalchanges
The `checklocalchanges` function in the `mq.queue` class takes a `refresh` argument that
changes the error message of raised exception. When refresh is
`True` the exception message is "local changes found, refresh first" otherwise,
the message is just "local changes found".
This changeset is the first of a series that extract `strip` into a standalone
extension (as discussed in issue3824). This `checklocalchanges` function is
indirectly used by the strip command. But in a standalone strip extension the
concept of "refresh first" has no sense. In practice, When used in the context
of the strip commands `refresh`'s value is always `False`.
So my final goal is a be able to extract the `checklocalchanges` logic in a
standalone extension but to keep the part related to "refresh first" in the mq
extension. However the refresh handling is deeply entangled into the
`checklocalchanges` code. It is handled as low a possible at the point we raise
the exception.
So we moves handling of refresh upper in the `checklocalchanges` code. This will
allow the extraction of a simple version in the strip extension while mq can
still inject its logic when needed.
Two helper functions `localchangesfound` and `localchangedsubreposfound` died in
the process they are replaced by simple raise lines.
Angel Ezquerra <angel.ezquerra@gmail.com> [Fri, 06 Sep 2013 00:38:28 +0200] rev 19811
merge: let the user choose to merge, keep local or keep remote subrepo revisions
When a subrepo has changed on the local and remote revisions, prompt the user
whether it wants to merge those subrepo revisions, keep the local revision or
keep the remote revision.
Up until now mercurial would always perform a merge on a subrepo that had
changed on the local and the remote revisions. This is often inconvenient. For
example:
- You may want to perform the actual subrepo merge after you have merged the
parent subrepo files.
- Some subrepos may be considered "read only", in the sense that you are not
supposed to add new revisions to them. In those cases "merging a subrepo" means
choosing which _existing_ revision you want to use on the merged revision. This
is often the case for subrepos that contain binary dependencies (such as DLLs,
etc).
This new prompt makes mercurial better cope with those common scenarios.
Notes:
- The default behavior (which is the one that is used when ui is not
interactive) remains unchanged (i.e. merge is the default action).
- This prompt will be shown even if the ui --tool flag is set.
- I don't know of a way to test the "keep local" and "keep remote" options (i.e.
to force the test to choose those options).
# HG changeset patch
# User Angel Ezquerra <angel.ezquerra@gmail.com>
# Date 1378420708 -7200
# Fri Sep 06 00:38:28 2013 +0200
# Node ID 2fb9cb0c7b26303ac3178b7739975e663075857d
# Parent 50d721553198cea51c30f53b76d41dc919280097
merge: let the user choose to merge, keep local or keep remote subrepo revisions
When a subrepo has changed on the local and remote revisions, prompt the user
whether it wants to merge those subrepo revisions, keep the local revision or
keep the remote revision.
Up until now mercurial would always perform a merge on a subrepo that had
changed on the local and the remote revisions. This is often inconvenient. For
example:
- You may want to perform the actual subrepo merge after you have merged the
parent subrepo files.
- Some subrepos may be considered "read only", in the sense that you are not
supposed to add new revisions to them. In those cases "merging a subrepo" means
choosing which _existing_ revision you want to use on the merged revision. This
is often the case for subrepos that contain binary dependencies (such as DLLs,
etc).
This new prompt makes mercurial better cope with those common scenarios.
Notes:
- The default behavior (which is the one that is used when ui is not
interactive) remains unchanged (i.e. merge is the default action).
- This prompt will be shown even if the ui --tool flag is set.
- I don't know of a way to test the "keep local" and "keep remote" options (i.e.
to force the test to choose those options).
Augie Fackler <raf@durin42.com> [Tue, 24 Sep 2013 15:10:32 -0400] rev 19810
python2.4: fix imports of sub-packages of the email package
These all have an obvious comment so if/when we finally ditch Python
2.4 we can eradicate them easily.
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 09:16:07 -0400] rev 19809
httpconnection: properly inject ssl_wrap_socket into httpclient (issue4038)
This causes httpclient to use the same SSL settings as the rest of
Mercurial, and adds an easy extension point for later modifications to
our ssl handling.
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 09:15:43 -0400] rev 19808
sslutil: make keyfile and certfile arguments consistent between 2.6+ and 2.5-
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 09:15:09 -0400] rev 19807
httpclient: import 4bb625347d4a to provide SSL wrapper injection
This lets us inject our own ssl.wrap_socket equivalent into
httpclient, which means that any changes we make to our ssl handling
can be *entirely* on our side without having to muck with httpclient,
which sounds appealing. For example, an extension could wrap
sslutil.ssl_wrap_socket with an api-compatible wrapper and then tweak
SSL settings more precisely or use GnuTLS instead of OpenSSL.
Augie Fackler <raf@durin42.com> [Thu, 19 Sep 2013 16:29:00 -0400] rev 19806
sslutil: add a config knob to support TLS (default) or SSLv23 (bc) (issue4038)
Prior to this change, we default to SSLv23, which is insecure because
it allows use of SSLv2. Unfortunately, there's no constant for OpenSSL
to let us use SSLv3 or TLS - we have to pick one or the other. We
expose a knob to revert to pre-TLS SSL for the user that has an
ancient server that lacks proper TLS support.
Siddharth Agarwal <sid0@fb.com> [Mon, 23 Sep 2013 21:41:01 -0700] rev 19805
largefiles: standardize error message for dirty working dir