- Jul 20, 2012
-
-
Matt Harbison authored
An easy way to force this (and cause a traceback) prior to the fix for 3507 was $ touch large $ hg add --large large $ hg ci -m "add" $ hg remove large $ touch large $ hg addremove --config largefiles.patterns=**large This patch also detected (and corrected) a previous test where a standin got added as a largefile (without a traceback).
-
- Jul 19, 2012
-
-
Matt Harbison authored
The problem only occurred if a file was removed with 'hg rm' (as opposed to the OS utilities), and then addremove was run before a commit. Both normal and large files were affected. Ensuring that the file exists prior to an lstat() for size seems like the Right Thing. But oddly enough, the missing file that was causing lstat() to blow up was a standin when a largefile was removed, which seems fishy, because a standin should never be added as a largefile. I was then able to get a standin added as a largefile (whose name is 'large') with hg addremove --config largefiles.patterns=**large which also causes a backtrace. That will be fixed next.
-
Matt Harbison authored
The example in comment #9 of the bug writeup must be run exactly- it was the commit after the rm and prior to the addremove that screwed things up, because that commit noticed that the largefile was missing, called drop(), and then the original commit function did nothing (due to the file in the '!' state). The addremove command properly put it into the 'R' state, but it remained stuck in that state (because commit insisted 'nothing changed'). Without the commit prior to addremove, the problem didn't occur. Maybe this is an indication that lfdirstate needs to take a few more hints from the regular dirstate, regardless of what _it_ thinks the state is- similar inconsistency is probably still possible with this patch if the original commit succeeds but the lfdirstate write fails.
-
Matt Harbison authored
If a file was missing, the missing list contained a path relative to the repo. When building the matcher from that list, the file name ended up concatenated to cwd, causing the command to abort with '<file> not under root'. This rebuilds the missing list with paths relative to cwd.
-
Thomas Arendsen Hein authored
The "worst" extension still is the one tested with the lowest tested version below the current version of Mercurial, but if an extension with was only tested with newer versions, it is considered a candidate for a bad extension, too. In this case extensions which have been tested with higher versions of Mercurial are considered better. This allows finding the oldest extension if ct can't be calculated correctly and therefore defaults to an empty tuple, and it involves less changes to the comparison logic during the current code freeze.
-
Thomas Arendsen Hein authored
Currently tests break with the current tag being 2.3-rc and tags set by the user could affect this test, too.
-
Matt Mackall authored
-
Matt Mackall authored
-
- Jul 18, 2012
-
-
Martin Geisler authored
-
Martin Geisler authored
Changeset dbf91976f900 caused this when the "from win32 import *" line was replaced with explicit import statements: the wildcard import was at the bottom of the file and so windows.termwidth was overwritten by win32.termwidth as indented, but the new explicit import statements were at the top and so win32.termwidth got lost. With the switch to ctypes, win32 can always be imported and so the fallback termwidth in windows is no longer needed.
-
- Jul 13, 2012
-
-
Pierre-Yves David authored
Otherwise the wireprotocol just hangs while trying to send data. (And nothing is received at the other side)
-
Pierre-Yves David authored
This allow efficient IO and it greatly simplify the merging of markers.
-
- Jul 12, 2012
-
-
Pierre-Yves David authored
The function is now able to write the version header as necessary. The function now yield bytes to be written to a stream. This should ease later use of this function for wireprotocol based exchanged. Prepare the public use of the writemarker by wireprotocol function.
-
- Jul 14, 2012
-
-
Adrian Buehlmann authored
-
- Jul 06, 2012
-
-
Simon Heimberg authored
When loading a python hook with file syntax fails, there is no information that this happened while loading a hook. When the python file does not exist even the file name is not printed. (Only that a file is missing.) This patch adds this information and a test for loading a non existing file and a directory not being a python module.
-
- Jul 18, 2012
-
-
Joshua Redstone authored
A recent changeset, afd75476939e, modified the caescollisionauditor interface but did not update perf.py. This changeset remidies that.
-
- Jul 17, 2012
-
-
Pierre-Yves David authored
The checkheads function is far too complicated. This extract help to explicite what part of the preprocessing are reused by the actual check. This the first step toward a wider refactoring.
-
Pierre-Yves David authored
If we push some successors they will likely create a new head on remote. However as the obsoleted head will disappear after the push we are not really increasing the number of heads. There is several case which will lead to extra being actually pushed. But this first changeset aims to be simple. See the inline comment for details. Without this change, you need to push --force every time you want to push a newer version which is very error prone. The remote side still display +n heads on unbundle because it does not have the obsolete marker at unbundle time.
-
Pierre-Yves David authored
This function yield every nodes which succeed to a group of nodes. The first user will be checkheads who need to know if we push successors for remote extra heads.
-
Pierre-Yves David authored
No branch specific data are used in the computation of the bookmarked heads. We can only compute it once.
-
Pierre-Yves David authored
All useful data are now gathered in a single dictionnary. `branchmapsummary` is renamed to `headssummary` and its return value is greatly simplified.
-
Pierre-Yves David authored
We use dict.keys() to fetch all keys before starting to delete some. Otherwise python complains that the dictionnary is altered during iteration.
-
Pierre-Yves David authored
The checkheads function is far too complicated. This extract help to explicite what part of the preprocessing are reused by the actual check. This the first step toward a wider refactoring.
-
- Jul 16, 2012
-
-
Pierre-Yves David authored
The repo.hiddenrevs set is updated with all extinct() changesets which aren't descendants of either: - the current working copy, - a bookmark, - a tag.
-
Pierre-Yves David authored
This set is always accessed through the repo for now. Having this set carried by the changelog make it complicated to: - initialize it, computing hidden set may involve revset call - lazy compute it, (1) only the changelog can detect someone access it, (2) only the repo have enought knowledge to compute it. In later version I expect he changelog to apply filtering itself and the set to be carried by changelog again.
-
- Jul 13, 2012
-
-
Pierre-Yves David authored
Extinct changesets are excluded from all exchange operations. This is a silent exclusion because the user should not need to be aware of them. There is no reason to strongly enforce this exclusion except implementation simplicity. User should be able to explicitly request an extinct changeset in the future.
-
- Jul 16, 2012
-
-
Pierre-Yves David authored
They were previously inside the mercurial.phases module, but obsolete logic will need them to exclude `extinct` changesets from pull and push. The proper and planned way to implement such filtering is still to apply a changelog level filtering. But we are far to late in the cycle to implement and push such a critical piece of code (changelog filtering). With Matt Mackall approval I'm extending this quick and dirty mechanism for obsolete purpose. Changelog level filtering should come during the next release cycle.
-
Pierre-Yves David authored
Now that we have localpeer, we can apply filtering on heads and branchmap the same way it's done for wireprotocol peer.
-
- Jul 18, 2012
-
-
Adrian Buehlmann authored
2ebe3d0ce91d claims this was needed "to avoid cyclic dependency", but there is no cyclic dependency. windows.py already imports encoding, posix.py can import it too, so we can simply use encoding.upper in windows.py and in posix.py. (this is a partial backout of 2ebe3d0ce91d)
-
- Jul 08, 2012
-
-
wujek srujek authored
Adds new web command to the core, ``comparison``, which enables colorful side-by-side change display, which for some might be much easier to work with than the standard line diff output. The idea how to implement comes from the SonicHq extension. The web interface gets a new link to call the comparison functionality. It lets users configure the amount of context lines around change blocks, or to show full files - check help (also in this changeset) for details and defaults. The setting in hgrc can be overridden by adding ``context=<value>`` to the request query string. The comparison creates addressable lines, so as to enable sharing links to specific lines, just as standard diff does. Incorporates updates to all web related styles. Known limitations: * the column diff is done against the first parent, just as the standard diff * this change allows examining diffs for single files only (as I am not sure if examining the whole changeset in this way would be helpful) * syntax highlighting of the output changes is not performed (enabling the highlight extension has no influence on it)
-
- Jul 06, 2012
-
-
Joshua Redstone authored
On a large repository, switching casecollisionauditor to lowercasing all file names at once rather than one at a time improves hg-add time by 25%.
-
- Jul 16, 2012
-
-
Adrian Buehlmann authored
fixes 48c232873a54 failing for Python 2.4
-
- Jul 15, 2012
-
-
Matt Harbison authored
-
Matt Harbison authored
There may be a more generic way that would add revset support to more commands by adding revset support to addbranchrevs(), but given the proximity of the next code freeze, a minimal change seems like the better choice.
-
- Jul 16, 2012
-
-
Matt Mackall authored
-
- Jul 03, 2012
-
-
Adrian Buehlmann authored
state == 'a' implies check I fail to see what the point of this check parameter is. Near as I can see, the only _addpath call where it was set to True was in add(), but there, state is 'a'. This is a follow-up to c2016bae3b97.
-
- Jul 16, 2012
-
-
Adrian Buehlmann authored
-
- Jul 13, 2012
-
-
Sune Foldager authored
-
Sune Foldager authored
-