- Jun 02, 2012
-
-
Matt Mackall authored
-
- Jun 01, 2012
-
-
Matt Mackall authored
-
Wagner Bruna authored
-
Bryan O'Sullivan authored
-
Patrick Mézard authored
When applying a patch renaming/copying 'a' to 'b' on a revision where 'a' does not exist, the patching process would abort immediately, without processing the remaining hunks and without reporting it. This patch makes the patching no longer abort and possible hunks applied on the copied/renamed file be written in reject files.
-
- May 29, 2012
-
-
Idan Kamara authored
ce0ad184f489 attempted to force the filecaches in localrepo to reload everything after a rollback. But simply clearing _filecache isn't enough, invalidate() needs to be called before/after. localrepo._rollback calls invalidate() already, so we clear the map right afterwards which ensures everything will be reread.
-
- May 30, 2012
-
-
Matt Mackall authored
-
- May 29, 2012
-
-
Katsunori FUJIWARA authored
-
- May 27, 2012
-
-
Alexander Sauta authored
-
Wagner Bruna authored
-
- May 30, 2012
-
-
Matt Mackall authored
-
- May 22, 2012
-
-
Katsunori FUJIWARA authored
'exact' match objects are sometimes created with a non-list 'pattern' argument: - using 'set' in queue.refresh():hgext/mq.py match = scmutil.matchfiles(repo, set(c[0] + c[1] + c[2] + inclsubs)) - using 'dict' in revert():mercurial/cmdutil.py (names = {}) m = scmutil.matchfiles(repo, names) 'exact' match objects return specified 'pattern' to callers of 'match.files()' as it is, so it is a non-list object. but almost all implementations expect 'match.files()' to return a list object, so this may causes problems: e.g. exception for "+" with another list object. this patch ensures that '_files' of 'exact' match objects is a list object. for non 'exact' match objects, parsing specified 'pattern' already ensures that it it a list one.
-
- May 19, 2012
-
-
Patrick Mézard authored
The alias expansion code it changed from: 1- Get replacement tree 2- Substitute arguments in the replacement tree 3- Expand the replacement tree again into: 1- Get the replacement tree 2- Expand the replacement tree 3- Expand the arguments 4- Substitute the expanded arguments in the replacement tree and fixes cases like: [revsetalias] level1($1, $2) = $1 or $2 level2($1, $2) = level1($2, $1) $ hg log -r "level2(level1(1, 2), 3)" where the original version incorrectly aborted on infinite expansion error, because it was confusing the expanded aliases with their arguments.
-
Patrick Mézard authored
The current revset alias expansion code works like: 1- Get the replacement tree 2- Substitute the variables in the replacement tree 3- Expand the replacement tree It makes it easy to substitute alias arguments because the placeholders are always replaced before the updated replacement tree is expanded again. Unfortunately, to fix other alias expansion issues, we need to reorder the sequence and delay the argument substitution. To solve this, a new "virtual" construct called _aliasarg() is introduced and injected when parsing the aliases definitions. Only _aliasarg() will be substituted in the argument expansion phase instead of all regular matching string. We also check user inputs do not contain unexpected _aliasarg() instances to avoid argument injections.
-
- May 21, 2012
-
-
durin42 authored
-
Matt Mackall authored
-
Matt Mackall authored
This stopped handling non-ASCII strings in 1.8
-
- May 16, 2012
-
-
Katsunori FUJIWARA authored
-
- May 18, 2012
-
-
Matt Mackall authored
-
- May 17, 2012
-
-
Matt Mackall authored
-
- May 15, 2012
-
-
Alexander Sauta authored
-
- Apr 10, 2012
-
-
Nikolaj Sjujskij authored
-
- May 12, 2012
-
-
Sune Foldager authored
This is achieved by acting as if the user had given -r<rev> for each head rev of outgoing changesets on the command line, as well as appropriate --base <rev>. The discovery information is computed as normal, and then adjusted as above.
-
- May 14, 2012
-
-
Matt Harbison authored
hg log -r "id(1234567)" now returns an empty list like rev() does.
-
- May 15, 2012
-
-
Thomas Arendsen Hein authored
-
- May 14, 2012
-
-
Mark Round authored
On an Irix 6.5.24 system, TIOCGWINSZ is not available. This means that any usage of the "hg" tool that looks up the terminal size (e.g. "hg help") will fail with an AttributeError. A simple work-around is just to wrap this block in mercurial/posix.py with a try/except so that it ends up using the default 80 characters width.
-
Matt Mackall authored
Previously, we were finding the most recent version of a file in a changeset and comparing it against its first file parent. This was wrong on three counts: - it would show a diff in revisions where there was no change to a file - it would show a diff when only the exec bit changed - it would potentially compare against a much older changeset, which could be very expensive if git-style rename detection was enabled This compares the file in the current context with that context's parent, which may result in an empty diff when looking at a file not touched by the current changeset.
-
- May 13, 2012
-
-
kiilerix authored
largefiles and lfconvert do dirty hacks with dirstate, so to avoid writing that as a side effect of the wlock release we clear dirstate first. To avoid confusing lock validation algorithms in error situations we unlock _before_ removing the target directory.
-
Matt Mackall authored
-
- Jan 30, 2012
-
-
Pierre-Yves David authored
qimport locking was introduced for phases in 29ea059be33c.
-
- May 12, 2012
-
-
kiilerix authored
-
Bryan O'Sullivan authored
-
Martin Geisler authored
Before, Mercurial would crash with a traceback ending with SyntaxError: unmatched quotes if you configured [ui] logtemplate = {rev}\n The SyntaxError is now catched and the string is re-parsed without requiring quotes.
-
- May 08, 2012
-
-
Wagner Bruna authored
-
- May 12, 2012
-
-
David Soria Parra authored
We have to check for signal.SIGPIPE before we attempt to set it.
-
Matt Mackall authored
-
Yuya Nishihara authored
Since 2b1ec74c961f, if a chunk starts with "@@ -0,1", oldstart turns into a negative value. Because diffhelpers.testhunk() doesn't expect negative bstart, it bypasses "alen > blen - bstart" condition and segfaults at "PyList_GET_ITEM(b, i + bstart)".
-
Steven Stallion authored
-
- May 08, 2012
-
-
Bryan O'Sullivan authored
Previously, we would not use more than half of a SHA-1 hash when constructing and searching the tree.
-
- May 09, 2012
-
-
Patrick Mézard authored
-