- Jun 24, 2014
-
-
Pierre-Yves David authored
This will allow us to drop the code dedicated to this special case.
-
Pierre-Yves David authored
Now that we detect all clean files, we do not need this clause anymore.
-
- Aug 02, 2014
-
-
Pierre-Yves David authored
This prepares for the arrival of a second "not touching file" action: revert of an untracked file.
-
- Aug 01, 2014
-
-
Pierre-Yves David authored
The two breaks can be joined into one. The code gains one level of indent.
-
- Jun 24, 2014
-
-
Pierre-Yves David authored
noop is about to gain a message.
-
- Aug 02, 2014
-
-
Pierre-Yves David authored
1. Special cases are not special enough 2. There are two cases where nothing is done and a message is displayed. This prepares it.
-
- Jun 24, 2014
-
-
Pierre-Yves David authored
The conditional controlling the creation of backup is fairly big. We move config related decisions outside of the loop.
-
Pierre-Yves David authored
Now that the table is simpler, remove one level of depth from it. This simplifies its usage in the for loop.
-
- Aug 16, 2014
-
-
Pierre-Yves David authored
Before this patch, there was always an attempt to update bookmark even if prior steps of the push failed. I cannot see a good semantic reason to do so. We disable this possibility to simplify the push flow with bundle2. Bookmarks will be included in the bundle and fail with other steps.
-
Pierre-Yves David authored
We make the conditional explicit for the sake of readability.
-
- Aug 15, 2014
-
-
Pierre-Yves David authored
Now that ancestors has the same boolean property as a list, we can stop unrolling the set of ancestors. This should provide a significant speedup to this step as ancestor objects are smart and lazy.
-
Pierre-Yves David authored
This allows using the object in a conditional the same way we can use list.
-
Pierre-Yves David authored
Updating bookmarks is part of the push. It should be done within the same lock as the other steps of the push.
-
- Aug 18, 2014
-
-
Gregory Szorc authored
hgweb detects out-of-date repository instances (using a highly suspect mechanism that should probably be fixed) and obtains a new repository object if needed. This patch changes the repository object copy to use the repo URL (instead of path). This preserves more information about the source repository and allows bundles to be served through hgweb. A test verifying that bundles can now be served properly via `hg serve` has been added.
-
- Aug 19, 2014
-
-
Pierre-Yves David authored
The markers are now 5-item tuples (concluded by the date). The obsstore.fields contents have been updated accordingly. There is no change to the on-disk format yet, so the date has to be extracted every time we read binary markers and re-injected each team we write them. This introduces a slowdown that will be solved when a new version of the format is added. Such a slowdown was already introduced by the evolve extension anyway.
-
- Aug 12, 2014
-
-
Pierre-Yves David authored
We are going to increase the amount of data explicitly stored in obsolescence markers. This mean we are going to have a longer tuple and some values will be shuffled around. So we add a ``fields`` attribute to the obsstore class to keep track of what entry is what. This will be useful for extensions and for documentation purpose.
-
- Aug 14, 2014
-
-
Pierre-Yves David authored
As the date is becoming a first-class citizen, we are displaying it in an explicit field. As a bonus it is now readable by humans.
-
Pierre-Yves David authored
The function is now just passing the value to create markers.
-
Pierre-Yves David authored
Now that we have this new argument, we can just use it.
-
Pierre-Yves David authored
The date will become an official field in the markers (and ultimately in the on-disk format). We start by making it an official argument for the function.
-
Pierre-Yves David authored
We are about to add more arguments to this function (date, parents, etc). Passing metadata as a keyword argument gives us more flexibility when adding them.
-
- Aug 15, 2014
-
-
Pierre-Yves David authored
We introduce a proper method to access the flag information.
-
Pierre-Yves David authored
Recent change in the push process introduced an extra listing of the phase name space before the push (on default). Meanwhile on default, a fix introduced a new test with debug output. We update the test output to be correct.
-
- Jun 24, 2014
-
-
Pierre-Yves David authored
We check for rename information in the dirstate. This is probably not enough to preserve this behavior when using an explicit target rev. I just spotted this while working on this code, but this is outside the scope of my series so I'm just adding a comment to highlight this suspicious situation.
-
Pierre-Yves David authored
Now that a single call site remains, we can just inline its content.
-
Pierre-Yves David authored
All those checks were here to catch cases where files were not modified in dirstate but were different in the target revision. This is now properly handled by calling status on the target node too.
-
Pierre-Yves David authored
There cannot be any elements in this set since: dsmodified &= modified
-
Pierre-Yves David authored
In case of merge, file that are actually added can be reported as modified. This is currently handled by special-case code. We detect it beforehand instead. This will lets use remove the special-case code at some point in the future.
-
- Aug 02, 2014
-
-
Pierre-Yves David authored
There are multiple possible cases for added files. But it's all handled by magic much lower in the stack. We document them, simplify the codes and move on.
-
- Aug 15, 2014
-
-
Matt Mackall authored
-
Katsunori FUJIWARA authored
Before this patch, if both "--message" and "--collapse" are specified for "hg rebase", "rebaes.normal" is used as "editform" unexpectedly. Unlike patches before and after in this series for improvement, this is bug fix patch.
-
Katsunori FUJIWARA authored
At the external editor invocation for committing, the value specified as "editform" for "cmdutil.getcommiteditor" is in "HGEDITFORM". This enables external editor to do own customization according to commit types.
-
Mads Kiilerich authored
This helps checker tools ... and readability for those who knows and follows the convention.
-
Mads Kiilerich authored
-
Mads Kiilerich authored
-
Mads Kiilerich authored
In all the remaining cases the comprehension variable is used for the same thing as a previous loop variable. This will mute some pyflakes "list comprehension redefines" warnings.
-
Mads Kiilerich authored
This will mute some pyflakes "import ... shadowed by loop variable" warnings.
-
Mads Kiilerich authored
_ is usually used for i18n markup but we also used it for I-don't-care variables. Instead, name don't-care variables in a slightly descriptive way but use the _ prefix to designate unused variable. This will mute some pyflakes "import '_' ... shadowed by loop variable" warnings.
-
Mads Kiilerich authored
This will make sure we get import errors, even if demandimport is enabled. This will also mute some pyflakes 'imported but unused' warnings.
-
Katsunori FUJIWARA authored
Before this patch, linear merging of modified largefiles causes an unexpected result, if (1) largefile collides with same-name normal one in the target revision and (2) "local" largefile is chosen, even though branch merging between such revisions works correctly. Expected result of such linear merging is marking the largefile as (re-)"added", but the actual result is marking it as "modified". The standin of modified "local largefile" is not changed by linear merging, and updating/merging update lfdirstate entries only for largefiles of which standins are changed. This patch adds the code path to update lfdirstate only for largefiles of which standins are not changed. In this case, "synclfdirstate" should be invoked with True as "normallookup" argument always to force using "normallookup" on dirstate for "n" files, because "normal" may mark target files as "clean" unexpectedly. To reduce cost of "lfile not in filelist", this patch converts "filelist" to a "set" object: "filelist" is used only in (1) the newly added code path and (2) the next line of "filelist = set(filelist)". This is a temporary way to fix with less changes. For fundamental resolution of this kind of problems in the future, "lfdirstate" should be updated with "dirstate" simultaneously during "merge.update" execution: maybe by hooking "recordupdates" (+ total refactoring around lfdirstate handling)
-