- Sep 24, 2013
-
-
durin42 authored
These all have an obvious comment so if/when we finally ditch Python 2.4 we can eradicate them easily.
-
- Sep 20, 2013
-
-
durin42 authored
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.
-
durin42 authored
-
durin42 authored
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.
-
- Sep 19, 2013
-
-
durin42 authored
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.
-
- Sep 24, 2013
-
-
Siddharth Agarwal authored
-
Siddharth Agarwal authored
This affects rebase, graft, histedit, and other similar commands.
-
Siddharth Agarwal authored
-
Siddharth Agarwal authored
-
Siddharth Agarwal authored
This and following patches will standardize the error message for dirty working directories to "uncommitted changes".
-
Siddharth Agarwal authored
-
Siddharth Agarwal authored
Previously, the error message for a dirty non-linear update was the same (and relatively unhelpful) whether or not a rev was specified. This patch and an upcoming one will introduce separate, more helpful hints.
-
Siddharth Agarwal authored
-
Siddharth Agarwal authored
An upcoming patch will add a hint to the abort message, and we don't want to lose that here.
-
- Sep 06, 2013
-
-
Alexander Plavin authored
-
- Jul 24, 2013
-
-
Alexander Plavin authored
-
- Sep 23, 2013
-
-
Matt Mackall authored
-
- Sep 20, 2013
-
-
durin42 authored
This style of import can trip up 2to3 and cause it to produce invalid files if one of the imports is supposed to be a relative import. This prevents that behavior, and in the process exposed a lot of silly import errors related to the email module.
-
durin42 authored
-
durin42 authored
-
durin42 authored
-
durin42 authored
-
durin42 authored
-
durin42 authored
-
durin42 authored
-
- Sep 23, 2013
-
-
Matt Mackall authored
-
Matt Mackall authored
-
- Sep 22, 2013
-
-
Alexander Plavin authored
-
- Sep 19, 2013
-
-
Alexander Plavin authored
While the default mode appends all the new entries to a container on the page, the graph mode resizes canvas correctly, and repaints the graph to include newly received data.
-
- Sep 22, 2013
-
-
Alexander Plavin authored
Namely, this allows the next page pointer to be not only revision hash given in page code, but also any value computed from the value for previous page.
-
- Sep 06, 2013
-
-
Alexander Plavin authored
It makes the Graph object to be in the same state as just after the initialization. This will help to add infinite scrolling to graph view.
-
- Sep 21, 2013
-
-
Katsunori FUJIWARA authored
Before this patch, if largefiles extension is enabled once in any of target repositories, commands handling multiple repositories at a time like below misunderstand that "largefiles" feature is supported also in all other local repositories: - clone/pull from or push to localhost - recursive execution in subrepo tree This patch registers "featuresetup()" into "featuresetupfuncs" of "localrepository" to support "largefiles" features only in repositories enabling largefiles extension, instead of adding "largefiles" feature to class variable "_basesupported" of "localrepository". This patch also adds checking below to the largefiles specific class derived from "localrepository": - push to localhost: whether features supported in the local(= dst) repository satisfies ones required in the remote(= src) This can prevent useless looking up in the remote repository, when supported and required features are mismatched: "push()" of "localrepository" also checks it, but it is executed after looking up in the remote.
-
Katsunori FUJIWARA authored
Before this patch, all localrepositories support same features, because supported features are managed by the class variable "supported" of "localrepository". For example, "largefiles" feature provided by largefiles extension is recognized as supported, by adding the feature name to "supported" of "localrepository". So, commands handling multiple repositories at a time like below misunderstand that such features are supported also in repositories not enabling corresponded extensions: - clone/pull from or push to localhost - recursive execution in subrepo tree "reposetup()" can't be used to fix this problem, because it is invoked after checking whether supported features satisfy ones required in the target repository. So, this patch adds the set object named as "featuresetupfuncs" to "localrepository" to manage hook functions to setup supported features of each repositories. If any functions are added to "featuresetupfuncs", they are invoked, and information about supported features is managed in each repositories individually. This patch also adds checking below: - pull from localhost: whether features supported in the local(= dst) repository satisfies ones required in the remote(= src) - push to localhost: whether features supported in the remote(= dst) repository satisfies ones required in the local(= src) Managing supported features by the class variable means that there is no difference of supported features between each instances of "localrepository" in the same Python process, so such checking is not needed before this patch. Even with this patch, if intermediate bundlefile is used as pulling source, pulling indirectly from the remote repository, which requires features more than ones supported in the local, can't be prevented, because bundlefile has no information about "required features" in it.
-
Katsunori FUJIWARA authored
Before this patch, "extensions.extensions()" always lists up all loaded extensions. So, commands handling multiple repositories at a time like below enable extensions unexpectedly. - clone from or push to localhost: extensions enabled only in the source are enabled also in the destination - pull from localhost: extensions enabled only in the destination are enabled also in the source - recursive execution in subrepo tree: extensions enabled only in the parent or some of siblings in the tree are enabled also in others In addition to it, extensions disabled locally may be enabled unexpectedly. This patch checks whether each of extensions should be listed up or not, if "ui" is specified to "extensions.extensions()", and invokes "reposetup()" of each extensions only for repositories enabling it.
-
- Sep 23, 2013
-
-
Matt Mackall authored
-
- Sep 20, 2013
-
-
Siddharth Agarwal authored
This brings pull --rebase with largefiles in line with pull --rebase without.
-
Siddharth Agarwal authored
This saves us a relatively superfluous status check for pull --rebase (if rebase runs, it'll check for a clean working directory anyway), and brings hg pull --rebase closer to hg pull && hg rebase. This is a behavior change because pull --rebase with a dirty working directory will now abort after performing the pull rather than before.
-
- Jul 14, 2013
-
-
Sean Farley authored
-
Sean Farley authored
-
Sean Farley authored
-