- Oct 14, 2015
-
-
Augie Fackler authored
The upcoming cg3 will need different logic for unpacking manifests.
-
- Oct 01, 2015
-
-
Augie Fackler authored
A future change will introduce a new function on a cg3packer that can pack treemanifests as well as flatmanifests.
-
- Sep 30, 2015
-
-
Augie Fackler authored
Since I'm spending the time to understand this code, I may as well leave it clearer than I found it.
-
- Sep 29, 2015
-
-
Augie Fackler authored
I'm about to add a cg3, and it seems prudent to annotate what formats support what features. It strikes me that we may want to consider moving to a more feature-oriented model in the future, but we'll see how that looks in a little while I guess.
-
- Oct 14, 2015
-
-
Augie Fackler authored
This should help future readers at least a little.
-
Augie Fackler authored
-
Augie Fackler authored
I'm not sure what to do abstraction-wise here. It might be more sensible to make a memoryrepo that could apply a bundle in-memory and then we could make the changegroup data be strictly an applyable stream, but that's an idea for Later.
-
Augie Fackler authored
The new convention is that bundles contain changegroups. bundle1 happens to *only* be a changegroup, but bundle2 is a more featureful container that isn't something you can pass to addgroup().
-
- Oct 13, 2015
-
-
Augie Fackler authored
I'm trying to reason about the public surface area of this module now, so it's worth tagging private things as such.
-
Augie Fackler authored
-
Augie Fackler authored
This is in localpeer, so it lives. Had it been in localrepo instead, I would have tried to exterminate it.
-
Augie Fackler authored
-
Augie Fackler authored
-
Augie Fackler authored
-
Augie Fackler authored
-
Augie Fackler authored
-
Augie Fackler authored
-
Augie Fackler authored
I'll clean up callers in subsequent patches, then remove the forwarding.
-
Augie Fackler authored
This is preparation for some refactoring.
-
- Oct 15, 2015
-
-
Augie Fackler authored
-
- Oct 13, 2015
-
-
Siddharth Agarwal authored
For easier catching.
-
- Oct 14, 2015
-
-
Gregory Szorc authored
Server operators that have enabled clone bundles probably want clients to use it. This patch introduces a feature that will insert a bundle2 "output" part that advertises the existence of the clone bundles feature to clients that aren't using it. The server uses the "cbattempted" argument to "getbundle" to determine whether a client supports clone bundles and to avoid sending the message to clients that failed the clone bundle for whatever reason.
-
Gregory Szorc authored
The client now sends a "cbattempted" boolean flag to the "getbundle" wire protocol command to tell the server whether a clone bundle was attempted. The presence of this flag will enable the server to conditionally emit a bundle2 "output" part advertising the availability of clone bundles to compatible clients that don't have it enabled.
-
- Oct 13, 2015
-
-
Gregory Szorc authored
This is needed so a subsequent patch can conditionally add a bundle2 part to the "getbundle" wire protocol command depending on whether a clone bundle was attempted.
-
Gregory Szorc authored
If a clone bundle persistently fails to apply, users need a way to disable it so they have a hope of the clone working. Change the hint for the abort scenario to advertise the config option to disable clone bundles.
-
- Oct 14, 2015
-
-
Gregory Szorc authored
-
Gregory Szorc authored
The client represents boolean arguments as '0' and '1'. bool('0') == bool('1') == True, so a simple bool(val) isn't sufficient for converting the argument back to a bool type. Currently, "obsmarkers" is the only boolean argument to getbundle. I /think/ the only place where we currently set the "obsmarkers" argument is during bundle2 pulls. As a result of this bug, the server /might/ be sending obsolete markers bundle2 part(s) to clients that don't request them. That is why I marked this BC. Surprisingly there was no test fall out from this change. I suspect a lapse in test coverage.
-
- Oct 15, 2015
-
-
Pierre-Yves David authored
We would skip the part if it was fully unknown, so we should also skip it if we know we won't be able to apply it. This will allow us to produce bundles with obsolescence markers alongside changegroup while still being able to apply them on any client.
-
Pierre-Yves David authored
We want to gracefully handle the read only case in some case (current target: advisory obsmarkers parts in bundle2). So we expose the attribute in a clean way.
-
- Oct 05, 2015
-
-
Pierre-Yves David authored
The 'postincoming' function used by 'hg pull --update' and 'hg unbundle' is catching 'Abort' exceptions to intercept failed update. This feel a bit too wide to me, so I'm introducing a more precise exception to specify update destination issues.
-
- Oct 06, 2015
-
-
Pierre-Yves David authored
Now that all internal callers pre-compute and set a destination at a higher level it feels like we can kill this API. This will allow us to simplify this function. However I feel like this is a bit too central and critical to break now. I'm adding a devel warning to let extension make catch this in the next cycle.
-
- Oct 15, 2015
-
-
Christian Delahousse authored
When a user's repository is in an unfinished unshelve state and they choose to abort, at a minimum, the repo should be out of that state. We've found situations where the user could not leave the state unless manually deleting the state file. This fix ensures that no matter what exception may be raised during the abort, the shelved state file will be deleted, the user will be out of the unshelve state and they can get their repository into a workable condition.
-
Gregory Szorc authored
When Mozilla enabled Pygments on hg.mozilla.org, we got a lot of weirdly colorized files. Upon further investigation, the hightlight extension is first attempting a filename+content based match then falling back to a purely content-driven detection mode in Pygments. Sounds good in theory. Unfortunately, Pygments' content-driven detection establishes no minimum threshold for returning a lexer. Furthermore, the detection code for a number of languages is very liberal. For example, ActionScript 3 will return a confidence of 0.3 (out of 1.0) if the first 1k of the file we pass in matches the regex "\w+\s*:\s*\w"! Python matches on "import ". It's no coincidence that a number of our extension-less files were getting highlighted improperly. This patch adds an option to have the highlighter not fall back to purely content-based detection when filename+content detection failed. This can be enabled to render unlighted text instead of taking the risk that unknown file types are highlighted incorrectly. The old behavior is still the default.
-
Gregory Szorc authored
It is only used once. pygmentize() is pretty small. Let's just inline it.
-
Gregory Szorc authored
I'm adding some logic in a future patch and this will make it so I only have to add it once.
-
- Oct 13, 2015
-
-
Christian Delahousse authored
After rebasing a set of changes onto a public changeset and having the first one be skipped, if you try to abort, the operation fails. This fix adds a check to disallow the target rev into the dstates list within the abort function. This list is checked for immutable states before the rest of abort does its thing.
-
- Oct 14, 2015
-
-
Matt Mackall authored
-
Pierre-Yves David authored
As obsolescence markers can contains unknown nodes and 'allsuccessors' returns them, we have to protect again that when looking for successors of the rebase set in the destination. Test have been expanded to catch that.
-
Pierre-Yves David authored
Accessing 'repo.changelog' have a small overhead because we double check that the filtering did not changed. As we make multiple use of this into loops, we should avoid doing the lookup/check every time. This also make the code tidier.
-
- Oct 15, 2015
-
-
timeless authored
-