Page MenuHomePhabricator

Don't lint symlinks by default.
ClosedPublic

Authored by joshuaspence on Jun 10 2014, 12:04 AM.
Tags
None
Referenced Files
F14041821: D9448.id22635.diff
Mon, Nov 11, 9:51 PM
F14035611: D9448.id22635.diff
Sun, Nov 10, 6:45 AM
F14035324: D9448.diff
Sun, Nov 10, 5:29 AM
F13992225: D9448.diff
Tue, Oct 22, 3:16 PM
F13989204: D9448.id22636.diff
Mon, Oct 21, 6:56 PM
F13975736: D9448.id22553.diff
Fri, Oct 18, 11:24 AM
F13975713: D9448.diff
Fri, Oct 18, 11:20 AM
F13958158: D9448.id22553.diff
Mon, Oct 14, 1:15 PM
Subscribers

Details

Summary

Fixes T5300. Currently, if a dead symbolic link is linted, all kinds of errors will be thrown by most linters because they will try to read the (non-existent) file contents. Instead, let's not lint symbolic links by default. In the case that the target of a symbolic link is inside the working copy, then it should be being linted anyway.

Test Plan

Created a symbolic link and verified that it wasn't linted (by any linter other than the ArcanistFilenameLinter).

Diff Detail

Repository
rARC Arcanist
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

joshuaspence retitled this revision from to Don't lint symlinks by default..
joshuaspence updated this object.
joshuaspence edited the test plan for this revision. (Show Details)
joshuaspence added a reviewer: epriestley.

One inline -- can you verify that it doesn't cause problems?

src/lint/engine/ArcanistLintEngine.php
194

I would expect this to need to call getFilePathOnDisk() and test that, particularly if arc lint is run from a subdirectory.

src/lint/engine/ArcanistLintEngine.php
194

Yeah of course... I run arc from the project root 99% of the test and so often forget about things like this.

joshuaspence edited edge metadata.
  • Use getFilePathOnDisk to get the absolute path.
epriestley edited edge metadata.
This revision is now accepted and ready to land.Jun 11 2014, 1:19 AM
epriestley updated this revision to Diff 22636.

Closed by commit rARC02e3905cf50a (authored by @joshuaspence, committed by @epriestley).