- Mar 10, 2015
-
-
Siddharth Agarwal authored
This makes hg import --prefix dir/ (without bypass) work.
-
- Mar 07, 2015
-
-
Siddharth Agarwal authored
The --prefix option is meant to be relative to the root rather than the current working directory. This is for consistency with the rest of 'hg import' -- paths in patches are otherwise considered to be relative to the root. In upcoming patches we'll hook this option up to the patch functions. --exact with --prefix is currently disallowed because I can't really come up with sensible semantics for it, especially when only part of the patch is preserved.
-
- Mar 10, 2015
-
-
Pierre-Yves David authored
A buggy __version__ content (usually from setup.py's hg being unable to read the repo) can make this test fails in an obscure manner. We make the root of the failure more explicit.
-
- Mar 09, 2015
-
-
Mathias De Maré authored
-
- Jan 14, 2015
-
-
Mike Edgar authored
A censored revision stored in a revlog should have the censored revlog index flag bit set. This implies we must know if a revision is censored before we add it to the revlog. When adding revisions from exchanged deltas, we would prefer to determine this flag without decoding every single full text. This change introduces a heuristic based on assumptions around the Mercurial delta format and filelog metadata. Since deltas which produce a censored revision must be full-replacement deltas, we can read the delta's first bytes to check the filelog metadata. Since "censored" is the alphabetically first filelog metadata key, censored filelog revisions have a well-known prefix we can look for. For more on the design and background of the censorship feature, see: http://mercurial.selenic.com/wiki/CensorPlan
-
- Mar 07, 2015
-
-
Siddharth Agarwal authored
-
Siddharth Agarwal authored
-
- Mar 10, 2015
-
-
Mike Edgar authored
The node ID used in strip bundle names is currently taken as the last iterated value in a list comprehension found much earlier in the function. This change makes the node selection more explicit at the cost of redundancy.
-
- Feb 07, 2015
-
-
Gregory Szorc authored
We now have an API for representing a collection of paths. Use it.
-
Gregory Szorc authored
Many have long wanted for paths to have expanded functionality and flexibility. In order to make that transition possible, we need to start representing paths as something more than simple strings. This patch introduces two classes: 1) "path" for representing a single path instance 2) "paths" for representing a collection of "paths" Since we don't like patches that introduce new code without any consumers, we convert ui.expandpath() to use the new APIs internally. Upcoming patches will start exposing "path" instances to consumers that currently interface with string paths. The new "paths" attribute of ui is populated from config data the first time it is accessed. Since it isn't updated when the configs are modified, this could lead to some inaccurate caching behavior. It shouldn't be an issue, as paths information is typically not accessed until command dispatch, which occurs after the repository config and extensions have been loaded. Time will tell if we need to refresh paths information when the underlying config changes.
-
- Mar 10, 2015
-
-
Jordi Gutiérrez Hermoso authored
It's pretty annoying to be getting this warning when already the colour extension has no hope of working. If there isn't a human on the other end to to see the colours, there probably isn't a human either who cares about this warning. More likely, some script somewhere is gonna get confused with the warning output. Of course, if we still want to see the warning for some reason, we can always set --config ui.interactive=True.
-
- Feb 26, 2015
-
-
Yuya Nishihara authored
Pulling from incoming bundle can cause trouble such as missing phase movement, bookmarks and largefiles transfer. Average user won't need this option.
-
- Mar 07, 2015
-
-
Siddharth Agarwal authored
This is preparation for upcoming patches that will add support for applying a patch within a subdirectory.
-
Siddharth Agarwal authored
This is preparation for upcoming patches that will add support for applying a patch within a subdirectory. We normalize the prefix here because this is the main driver -- all code to apply patches is expected to go through here.
-
Siddharth Agarwal authored
This is preparation for upcoming patches that will add support for applying a patch within a subdirectory.
-
Siddharth Agarwal authored
This is preparation for upcoming patches that will add support for applying a patch within a subdirectory. The prefix is applied after path components are stripped.
-
Siddharth Agarwal authored
In upcoming patches we're going to make this function more complex, so add some unit tests for it.
-
Siddharth Agarwal authored
In upcoming patches we'll not just strip path components but also add new ones.
-
- Feb 18, 2015
-
-
Yuya Nishihara authored
ef78450c8df6 implies that the primary goal is to allow "{get(extras, key)}", but it didn't work. I'm not sure if _hybrid should forward all unknown attributes to values, so only "get" is forwarded for now.
-
Yuya Nishihara authored
d8fb835376d1 is fine for "{revset()}", but "i.values()[0]" does not work if each item has more than one values such as "{bookmarks}". This fixes the problem by using list.__contains__ or dict.__contains__ appropriately.
-
- Mar 08, 2015
-
-
Yuya Nishihara authored
This will allow us to handle bookmarks, extras and copies properly in "ifcontains()" and "get()".
-
Yuya Nishihara authored
The constructed list is useless for "ifcontains()" and "get()". Instead, makemap() and raw dict will be passed to _hybrid object.
-
Yuya Nishihara authored
These sortdict objects will be passed to _hybrid later, which will allow us to handle them by "ifcontains()" and "get()" as expected.
-
- Feb 18, 2015
-
-
Yuya Nishihara authored
Future patches will make the templater store a sorted dict in the _hybrid object. sortdict should be constructed from a sorted list.
-
- Mar 06, 2015
-
-
Laurent Charignon authored
While using the record extension to select changes, the user couldn't see the content of newly added files and had to select/reject them based on filename. The test is changed accordingly in two places.
-
- Mar 05, 2015
-
-
Pierre-Yves David authored
Running the tags function filtered will lead to different results with different filter levels. This seems too dangerous to be done blindly as b08af8f0ac01 did.
-
- Mar 09, 2015
-
-
Tristan Seligmann authored
When running on a slower systems (eg. MIPS buildd), the age of the shelf can be 10 seconds or more, resulting in the output alignment changing and thus a test failure. This patch makes the spacing be matched more leniently.
-
Anton Shestakov authored
Before this change hg help histedit would use the default variable label: --commands VALUE ... -r --rev VALUE [+] With this change the text will be in the usual help text style and a bit more explanatory: --commands FILE ... -r --rev REV [+]
-
Anton Shestakov authored
The rest of help messages for command arguments are simple phrases without any ending punctuation, so having this text be a complete sentence didn't really fit.
-
- Jan 25, 2015
-
-
Matt Harbison authored
Previously, the source was silently skipped because the largefile was in the list of changed files, but the standin was in the copies dictionary. The source is only displayed if the changed file is a key in the copies dictionary.
-
- Mar 08, 2015
-
-
Matt Harbison authored
-
- Jan 31, 2015
-
-
Augie Fackler authored
This makes insertions log(n) plus some memmove() overhead, rather than doing an append followed by an n*log(n) sort. There's probably a lot of performance to be gained by adding a batch-add method, which could be smarter about the memmove()s performed. Includes a couple of extra tests that should help prevent bugs. Thanks to Martin for some significant pre-mail cleanup of this change.
-
- Nov 17, 2014
-
-
Augie Fackler authored
The manifest iterator is now pre-sorted, so we can skip this check.
-
- Mar 07, 2015
-
-
Augie Fackler authored
This version is actually lazy, unlike the pure-python version. The latter could stand to be optimized if anyone actually wants to use it seriously. I put no work into it. Before any of my related changes on mozilla-central: perfmanifest tip ! wall 0.268805 comb 0.260000 user 0.260000 sys 0.000000 (best of 37) perftags ! result: 162 ! wall 0.007099 comb 0.000000 user 0.000000 sys 0.000000 (best of 401) perfstatus ! wall 0.415680 comb 0.420000 user 0.260000 sys 0.160000 (best of 24) hgperf export tip ! wall 0.142118 comb 0.140000 user 0.140000 sys 0.000000 (best of 67) after all of my changes on mozilla-central: ./hg: perfmanifest tip ! wall 0.232640 comb 0.230000 user 0.220000 sys 0.010000 (best of 43) perftags ! result: 162 ! wall 0.007057 comb 0.010000 user 0.000000 sys 0.010000 (best of 395) perfstatus ! wall 0.415503 comb 0.420000 user 0.280000 sys 0.140000 (best of 24) hgperf export tip ! wall 0.025096 comb 0.030000 user 0.030000 sys 0.000000 (best of 102) so it's no real change in performance on perf{manifest,tags,status}, but is a huge win on 'hgperf export tip'. There's a little performance work that could still be done here: fastdelta() could be done significantly more intelligently by using the internal state of the lazymanifest type in C, but that seems like good future work.
-
Augie Fackler authored
The low-level logic type (_lazymanifest) matches the behavior of the C implementation introduced in a5f1bccd2996. A future patch will use that when available.
-
Augie Fackler authored
This shape to the code will make using a C implementation of the manifest storage easier.
-
Augie Fackler authored
These functions are about to change signature and be hidden inside the manifestdict constructor. Doing the code motion now as an isolated change to make things easier to review.
-
- Feb 10, 2015
-
-
Augie Fackler authored
When suggestions are available, we show those suggestions instead of showing some help output.
-
- Jan 26, 2015
-
-
Augie Fackler authored
Before this patch, when I have a brain fart and type `hg log -r 'add(foo)'`, hg exits and just says add isn't a function, leading me to the help page for revset to figure out how to spell the function. With this patch, it suggests 'adds' as a function I might have meant.
-
Augie Fackler authored
An upcoming change will slightly alter behavior here. Adding the test now so the output change stands out in the later changeset.
-