- Feb 06, 2014
-
-
Mads Kiilerich authored
This message frequently caused confusion. "unsynced" is not a well established user-facing concept in Mercurial and the message was not very specific or helpful. Instead, show a message like: remote has heads on branch 'default' that are not known locally: 6c0482d977a3 This message will also (when relevant) be shown before aborting on "push creates new remote head". A similar (but actually very different) message was addressed in 6b618aa08b6e.
-
- Feb 12, 2014
-
-
Pierre-Yves David authored
We extract the `tryone` function into the `cmdutil` module. A lot of the command context have to be passed to the utility function, but having and explicit declaration will allow extension to wrap it. This will allows use to make changeset evolution related experiment in dedicated extension. Improving the API of this function is noble goal but outside of the scope of this patches.
-
- Feb 13, 2014
-
-
Siddharth Agarwal authored
A missing ancestor expression is any expression of the form (::x - ::y) or equivalent. Such expressions are remarkably common, and so far have involved multiple walks down the DAG, followed by a set difference operation. With this patch, such expressions will be transformed into uses of the fast algorithm at ancestor.missingancestor. For a repository with over 600,000 revisions, perfrevset for '::tip - ::-10000' returns: Before: ! wall 3.999575 comb 4.000000 user 3.910000 sys 0.090000 (best of 3) After: ! wall 0.132423 comb 0.130000 user 0.130000 sys 0.000000 (best of 75)
-
Siddharth Agarwal authored
This will be used in an upcoming patch to optimize expressions of the form (::x - ::y).
-
Siddharth Agarwal authored
This will be used in an upcoming patch to test that the optimizer works.
-
- Feb 12, 2014
-
-
Simon Heimberg authored
To distinguish between access violaition (process belonging to another user) and a terminated process, PROCESS_QUERY_INFORMATION must be enabled. But TerminateProcess still raises error 5 in both cases. Therefore check before if the process has already terminated.
-
Simon Heimberg authored
-
- Jan 17, 2014
-
-
Simon Heimberg authored
After kill, wait for the process to terminate. When it does not in time, write a debug message similar as in other os. But no 2nd forceful attempt is done.
-
Simon Heimberg authored
The return values of the windll calls are checked and when an error is indicated, it is raised. The handle is still closed properly.
-
- Feb 13, 2014
-
-
Matt Mackall authored
-
Thomas Arendsen Hein authored
-
Thomas Arendsen Hein authored
The certificate was updated in February 2014. You can verify the certificate by using the Root CA certificate downloadable from https://ssl.intevation.de/ The intermediate CA is sent by https://hg.intevation.org/
-
- Jan 31, 2014
-
-
Pierre-Yves David authored
pull: move changeset pulling in its own function Now that every necessary information is held in the `pulloperation` object, we can finally extract the changeset pulling to it's own function. This changeset is pure code movement only.
-
- Feb 11, 2014
-
-
Pierre-Yves David authored
Tree discovey use a `fetch` variable to know what is being pulled. We move this information in the `pulloperation` object. This make it possible to extract the changeset pulling logic into its own function.
-
- Jan 31, 2014
-
-
Pierre-Yves David authored
The computation of the subset is simple operation using two useful pull information (1) the set of common changeset before the pull (2) the set of pulled changeset. We move this data into the `pulloperation` object since some phase will need them. And we turn the pulled subset computation behind a property case as multiple pull phase will need it.
-
Pierre-Yves David authored
Now that every necessary information is held in the `pulloperation` object, we can finally extract the phase synchronisation phase to it's own function. This changeset is pure code movement only.
-
Pierre-Yves David authored
We compute the set of local changeset that were target of the pull. This is then used by phases logic to decide which part of the history should have it phase updated. We move this information into the object to allow extraction of phase synchronisation in its own function. I expect obsolete marker exchange to use it too in the future.
-
- Feb 06, 2014
-
-
Lucas Moscovicz authored
Added more operations which are not lazy but only used so far to duck type baseset.
-
- Feb 12, 2014
-
-
Lucas Moscovicz authored
Added methods __add__, __sub__ and __and__ to duck type more methods in baseset
-
Lucas Moscovicz authored
-
- Feb 06, 2014
-
-
Lucas Moscovicz authored
-
Lucas Moscovicz authored
-
Lucas Moscovicz authored
-
- Jan 31, 2014
-
-
Pierre-Yves David authored
We now have all necessary information in the `pulloperation` object itself.
-
Pierre-Yves David authored
Most local change that occurs during a pull are doing within a `transaction`. Currently this mean (1) adding new changeset (2) adding obsolescence markers. We want the two operations to be done in the same transaction. However we do not want to create a transaction if nothing is added to the repo. Creating an empty transaction would drop the previous transaction data and confuse tool and people who are still using rollback. So the current pull code has some logic to create and handle this transaction on demand. We are moving this logic in to the `pulloperation` object itself to simplify this lazy creation logic through all different par of the push. Note that, in the future, other part of pull (phases, bookmark) will probably want to be part of the transaction too.
-
Pierre-Yves David authored
The obsolescence marker exchange code was already extracted during a previous cycle. We are moving the extracted functio in this module. This function will read and write data in the `pulloperation` object and I prefer to have all core function collaborating through this object in the same place. This changeset is pure code movement only. Code change for direct consumption of the `pulloperation` object will come later.
-
- Feb 01, 2014
-
-
Pierre-Yves David authored
One more step toward a more modular pulh function.
-
- Jan 31, 2014
-
-
Pierre-Yves David authored
One more step toward a more modular pull function.
-
Pierre-Yves David authored
One more step toward a more modular pull function.
-
Pierre-Yves David authored
This object will hold all data and state gathered through the pull. This will allow us to split the long function into multiple small one. Smaller function will be easier to maintains and wrap. The idea is to blindly store all information related to the pull in this object so that each step and extension can use them if necessary. We start by putting the `repo` variable in the object. More migration in other function.
-
- Jan 27, 2014
-
-
file://$TESTTMPSimon Heimberg authored
on windows, largefile paths are written as "file:///C:/temp/...", corresponding to "file:///$TESTTMP/..." (all three slashes shown). But on posix systems they are written as "file:///tmp/..." corresponding to "file://$TESTTMP/..." (only two slashes shown). Write the glob "file:/*/" to match both versions.
-
- Feb 12, 2014
-
-
Pierre-Yves David authored
We want to be able to reuse and extend it from other function or extension while working on markers exchange. This changeset is pure core movement.
-
- Jan 31, 2014
-
-
Pierre-Yves David authored
The localrepo class if far too big. Push and pull logic are extracted and reworked to better fit with the fact we exchange more than bundle now. This changeset extract the pulh code. later changeset will slowly slice it into smaller brick. The localrepo.pull method is kept for now to limit impact on user code. But it will be ultimately removed, now that the public API is hold by peer.
-
Pierre-Yves David authored
Now that every necessary information is held in the `pushoperation` object, we can extract the new common set computation to it's own function. This changeset is pure code movement only.
-
Pierre-Yves David authored
The phase synchronisation start by computing the new set of common head between local and remote and then do the phase synchronisation on this set. This new common set logic will eventually be used by the obsolescence markers exchange. So we are going to split the long phase synchronisation in two.
-
Pierre-Yves David authored
Now that every necessary information is held in the `pushoperation` object, we can extract the discovery logic to it's own function. This changeset is pure code movement only.
-
Pierre-Yves David authored
Now that every necessary information is held in the `pushoperation` object, we can extract the part responsible of aborting the push to it's own function. This changeset is mostly pure code movement. the exception is the fact this function returns a value to decide if changeset bundle should be pushed.
-
Pierre-Yves David authored
The fact that there is some unknown changes on remote one of the result of discovery. It is then used by some push validation logic. We move it in the object to be able to extract the said logic.
-
Pierre-Yves David authored
Now that every necessary information is held in the `pushoperation` object, we can extract the logic pushing changeset to it's own function. This changeset is pure code movement only.
-
Pierre-Yves David authored
The heads of the remote repository are used to detect race when pushing changeset. We now store this information in `pushoperation` object to allow extraction of the changeset pushing part.
-