- May 22, 2015
-
-
Matt Mackall authored
This warning exists to prevent git users from prematurely polluting their namespace when trying out Mercurial. But for repos that already have multiple branches, understanding what branches are is not optional so we should just shut up.
-
- May 19, 2015
-
-
Martin von Zweigbergk authored
See 9789b4a7c595 (match: introduce boolean prefix() method, 2014-10-28) for reasons to avoid match.files() in conditions.
-
- May 26, 2015
-
-
Martin von Zweigbergk authored
The choice between the "always" case and the other case is done in getstandinmatcher() and the next patch will change how it's determined based on the matcher, so let's prepare by passing in the matcher, not just the matcher's files.
-
Martin von Zweigbergk authored
The parameter wasn't used even when it was imported from elsewhere in cfccd3bee7b3 (hgext: add largefiles extension, 2011-09-24).
-
Pierre-Yves David authored
We have started to isolate extra usecases for developer-only output that is not a warning. As the section has the fairly generic name 'devel' it makes sense to tuck them there. As a result, 'all' becomes a bit misleading so we rename it to 'all-warnings'. This will break some developer setups but the tests are still fine and developers will likely spot this change.
-
Matt Mackall authored
-
- May 22, 2015
-
-
Martin von Zweigbergk authored
The root directory is not normally added to 'dirs' instances (although I think it should be). In copies.mergecopies, we call dirname() to get the directory of a path and then check for containment in the 'dirs' instances ('d1' and 'd2'). In order to easily handle files in the root directory, '/' is added to d1/d2. This results in the empty string being added to the sets, since what comes before the slash in '/' is an empty string. This seems less than obvious, so let's document it.
-
- May 26, 2015
-
-
Yuya Nishihara authored
"X or wdir()" just works because the default branch includes 40a2cf1c765b.
-
Augie Fackler authored
We retain the forwards because it helps code be more ignorant of implementation details, but use forwards instead of our own method definitions since we don't need any truly custom behavior for now.
-
Augie Fackler authored
I've done this as its own step so that it's easy to see that the posixpath implementations pass the doctests in this package. In a future patch I'll just make these pure forwards of the methods so that things using pathutil can be oblivious to the posix nature of these functions.
-
- May 20, 2015
-
-
Durham Goode authored
Adds some help text about the new include: and subinclude: match syntax.
-
- May 16, 2015
-
-
Durham Goode authored
This adds a new rule syntax that allows the user to include a pattern file, but only have those patterns match against files underneath the subdirectory of the pattern file. This is useful when you have nested projects in a repository and the inner projects wants to set up ignore rules that won't affect other projects in the repository. It is also useful in high commit rate repositories for removing the root .hgignore as a point of contention.
-
- May 22, 2015
-
-
Durham Goode authored
copies had it's own dirname implementation. Now that pathutils has a common one, let's use that instead.
-
Durham Goode authored
This adds dirname and join functions to pathutil which are explicitly for handling '/' delimited paths. The implementations are basically copy paste from python's posix os.path.dirname and os.path.join functions.
-
- May 21, 2015
-
-
Laurent Charignon authored
index_get_parents can be used in index_headrevs, to do so it needs to be moved up in the compilation unit.
-
- May 26, 2015
-
-
Matt Mackall authored
checkcopies was using fctx.rev() which it was expecting would be equivalent to linkrev() but was triggering the new _adjustlinkrev path. This was making grafts and merges with large sets of potential copies very expensive.
-
Anton Shestakov authored
showbranch variable already contains the result of nodebranchnodefault(ctx), so it can be reused.
-
- May 22, 2015
-
-
Matt Mackall authored
The nesting makes profiles harder to read and often pushes important data off the end of the report.
-
- May 19, 2015
-
-
Martin von Zweigbergk authored
It seems clearer to check for what it is than what it isn't.
-
Martin von Zweigbergk authored
It seems clearer to check for what it is than what it isn't.
-
Martin von Zweigbergk authored
See 9789b4a7c595 (match: introduce boolean prefix() method, 2014-10-28) for reasons to avoid match.files() in conditions.
-
Martin von Zweigbergk authored
See 9789b4a7c595 (match: introduce boolean prefix() method, 2014-10-28) for reasons to avoid match.files() in conditions.
-
Martin von Zweigbergk authored
See 9789b4a7c595 (match: introduce boolean prefix() method, 2014-10-28) for reasons to avoid match.files() in conditions.
-
- May 21, 2015
-
-
Martin von Zweigbergk authored
Since 'match.files()' is interchangeable with 'not match.files()', we can simplify with an 'elif' follwoing the 'if match.always()'.
-
- May 26, 2015
-
-
Matt Mackall authored
-
- May 25, 2015
-
-
Gregory Szorc authored
Support for Python 2.4 and 2.5 has been dropped. This check is no longer necessary.
-
- May 24, 2015
-
-
Katsunori FUJIWARA authored
Before this patch, hook argument `txnid` isn't passed to `pretxnopen` hooks, even though `hooks` section of `hg help config` describes so. ``pretxnopen`` Run before any new repository transaction is open. The reason for the transaction will be in ``$HG_TXNNAME`` and a unique identifier for the transaction will be in ``HG_TXNID``. A non-zero status will prevent the transaction from being opened.
-
Katsunori FUJIWARA authored
Before this patch, transaction ID (TXNID) is calculated from `transaction` object itself by `id()`, but this prevents TXNID from being passed to `pretxnopen` hooks, which should be executed before starting transaction processing (also any preparations for it, like writing journal files out). As a preparation for passing TXNID to `pretxnopen` hooks, this patch separates calculation of TXNID from creation of `transaction` object. This patch uses "random" library for reasonable unique ID. "uuid" library can't be used, because it was introduced since Python 2.5 and isn't suitable for Mercurial 3.4.x stable line. `%f` formatting for `random.random()` is used with explicit precision number 40, because default precision for `%f` is 6. 40 should be long enough, even if 10**9 transactions are executed in a short time (a second or less). On the other hand, `time.time()` is used to ensures uniqueness of TXNID in a long time, for safety. BTW, platform not providing `/dev/urandom` or so may cause failure of `import random` itself with some Python versions (see Python issue15340 for detail http://bugs.python.org/issue15340). But this patch uses "random" without any workaround, because: - "random" is already used directly in some code paths, - such platforms are very rare (e.g. Tru64 and HPUX), and http://bugs.python.org/issue15340#msg170000 - updating Python runtime can avoid this issue
-
- May 23, 2015
-
-
Yuya Nishihara authored
This fixes the crash caused by "branch(null)" revset. No cache should be necessary for nullrev because changelog.branchinfo(nullrev) does not involve IO operation. Note that the problem of "branch(wdir())" isn't addressed by this patch. "wdir()" will raise TypeError in many places because of None. This is the reason why "wdir()" is still experimental.
-
- May 24, 2015
-
-
Yuya Nishihara authored
This patch partially backs out d2de20e1451f and adds an alternative workaround to functions that evaluate "null" and "wdir()". Because the new workaround is incomplete, "first(null)" and "min(null)" don't work as expected. But they were not usable until 3.4 and "null" isn't commonly used, we can postpone a complete fix for 3.5. The issue4682 was caused because "branch(default)" is evaluated to "<filteredset <fullreposet>>", keeping fullreposet magic. The next patch will fix crash on "branch(null)", but without this patch, it would make "null in <branch(default)>" be True, which means "children(branch(default))" would return all revisions but merge (p2 != null). I believe the right fix is to stop propagating fullreposet magic on filter(), but it wouldn't fit to stable release. Also, we should discuss how to handle "null" and "wdir()" in revset before.
-
- May 23, 2015
-
-
Matt Mackall authored
-
- May 22, 2015
-
-
Pierre-Yves David authored
The 'file' variable was undefined but resolved to the 'file' built-in. This is why pylint complains about overwriting built-ins...
-
- May 23, 2015
-
-
durin42 authored
Now that http://bugs.python.org/issue24230 is fixed (thanks to Gregory Smith for that quick response!) we can drop one more ugly hack around path handling. Tests still pass in 3.5 with this cleaner version, as well as in 2.6.
-
durin42 authored
This fixes the python3.5 build. We'll presumably want to build our own helper function or use 2to3 for this on the main source tree, but for run-tests we want a single-source version that works in 2.6 and 3.5.
-
- May 21, 2015
-
-
Laurent Charignon authored
It is safe to do as 'shelve -i' uses the same code path as 'commit -i' that is not experimental.
-
Laurent Charignon authored
Before this patch: editing hunks of newly added file when performing a revert --interactive had no effect: the edits were discarded. After this patch, the edits are taken into account.
-
Laurent Charignon authored
This allows us to use existing code to detect files that are newly added and modified. In turn, this allows us to make revert --interactive support editing newly added and modified files.
-
Laurent Charignon authored
We want to reuse this logic in revert.
-
Laurent Charignon authored
We extract this code as we want to reuse it in revert -i.
-
- Apr 26, 2015
-
-
Yuya Nishihara authored
-