Siddharth Agarwal <sid0@fb.com> [Sat, 16 Nov 2013 13:24:26 -0800] rev 20044
scmutil: introduce a filecacheentry that can watch multiple paths
Siddharth Agarwal <sid0@fb.com> [Sat, 16 Nov 2013 13:19:06 -0800] rev 20043
scmutil: rename filecacheentry to filecachesubentry
Upcoming patches will allow the file cache to watch over multiple files, and
call the decorated function again if any of the files change.
The particular use case for this is the bookmark store, which needs to be
invalidated if either .hg/bookmarks or .hg/bookmarks.current changes. (This
doesn't currently happen, which is a bug. This bug will also be fixed in
upcoming patches.)
Siddharth Agarwal <sid0@fb.com> [Sat, 16 Nov 2013 13:33:33 -0800] rev 20042
scmutil.filecacheentry: make stat argument to constructor mandatory
There's no real upside to making stat optional -- this constructor has just two
callers.
Siddharth Agarwal <sid0@fb.com> [Sat, 16 Nov 2013 13:57:35 -0800] rev 20041
test-filecache.py: add markers to the output for each event
Previously it was possible that a different, incorrect set of events might
print out 'creating' the same number of times.
Siddharth Agarwal <sid0@fb.com> [Sat, 16 Nov 2013 14:10:28 -0800] rev 20040
test-filecache.py: make setbeforeget test clearer
'0' and 'None' as outputs tripped me up. Make the distinction between values
set externally and values computed by calling the decorated function clearer.
Augie Fackler <raf@durin42.com> [Sun, 17 Nov 2013 13:38:35 -0500] rev 20039
test-module-imports.t: new test to use the import cycle detector
Augie Fackler <raf@durin42.com> [Sun, 17 Nov 2013 13:33:20 -0500] rev 20038
import-checker: try a little harder to show fewer cycles
This makes sure that all cycles begin with the lexicographically first
module, so that we're less likely to show overlapping cycles in the
final analysis.
Augie Fackler <raf@durin42.com> [Sun, 17 Nov 2013 16:58:18 -0500] rev 20037
import-checker: ignore nested imports
Augie Fackler <raf@durin42.com> [Sun, 17 Nov 2013 13:04:18 -0500] rev 20036
contrib: add an import checker
This checks for cycles in the module graph and verifies that imports
of stdlib modules are not on the same line as relative imports of
mercurial modules.
Augie Fackler <raf@durin42.com> [Wed, 06 Nov 2013 22:09:15 -0500] rev 20035
makememctx: move from patch to context to break import cycle
Augie Fackler <raf@durin42.com> [Wed, 06 Nov 2013 16:48:06 -0500] rev 20034
cleanup: move stdlib imports to their own import statement
There are a few warnings still produced by my import checker, but
those are false positives produced by modules that share a name with
stdlib modules.
Augie Fackler <raf@durin42.com> [Wed, 06 Nov 2013 18:19:04 -0500] rev 20033
pathutil: tease out a new library to break an import cycle from canonpath use
Augie Fackler <raf@durin42.com> [Wed, 06 Nov 2013 14:38:34 -0500] rev 20032
subsettable: move from repoview to branchmap, the only place it's used
This is a step towards breaking an import cycle between revset and
repoview. Import cycles happened to work in Python 2 with implicit
relative imports, but breaks on Python 3 when we start using explicit
relative imports via 2to3 rewrite rules.
Augie Fackler <raf@durin42.com> [Sat, 16 Nov 2013 20:12:02 -0500] rev 20031
obsolete: add __eq__ and __hash__ to marker to make set() deduplication work
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 16 Nov 2013 20:31:58 -0500] rev 20030
obsolete: do not accept duplicated marker during exchange
Before this patch, duplicated obsolescence markers could slip into an
obstore if the bookmark was unknown locally and duplicated in the
incoming obsolescence stream.
Existing duplicate markers will not be automatically removed but
they'll stop propagating. Having a few duplicated markers is harmless
and people have been warned evolution is <blink>experimental</blink>
anyway.