[engine] Limit matches for FilesystemNode to only cases where lhs/rhs match

Review Request #3688 — Created April 13, 2016 and submitted

3117, 3185
kwlzn, peiyu

Limit matches for FilesystemNode to only cases where lhs/rhs match; in other cases, we will recurse.

This simplifies FilesystemNode, and ensures that FilesystemNodes will only be created for precise types and fixes #3117.


  1. this feels like a good opportunity to improve our test coverage (the one in issue)

    1. There is lots and lots of test coverage for this code: if any filesystem operation failed (or was ambiguous), almost all of the tests in tests/python/pants_test/engine/exp/**/* would fail.

  2. src/python/pants/engine/exp/nodes.py (Diff revision 1)

    not used any more, can remove?

    1. MM, yea... good point. Will nuke it in the followup review I have coming for https://github.com/pantsbuild/pants/issues/3121

  3. src/python/pants/engine/exp/nodes.py (Diff revision 1)

    Q: when to assert and when to raise? given we check FilesystemNode.is_filesystem_pair is this also an assert?

Review request changed

Status: Closed (submitted)

Change Summary:

Merged as dac3c9a5f4743bd0b38fd37e887d257f2ae73d41