Page MenuHomePhabricator

Clarify what "--everything" means in "arc lint" and "arc unit"
ClosedPublic

Authored by epriestley on Feb 4 2018, 2:24 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Mar 24, 3:03 AM
Unknown Object (File)
Sat, Mar 23, 5:00 AM
Unknown Object (File)
Sun, Mar 10, 9:10 PM
Unknown Object (File)
Thu, Feb 29, 3:42 PM
Unknown Object (File)
Jan 27 2024, 8:43 AM
Unknown Object (File)
Jan 25 2024, 8:50 AM
Unknown Object (File)
Jan 5 2024, 7:16 PM
Unknown Object (File)
Dec 25 2023, 10:52 AM
Subscribers
None

Details

Summary

Fixes T13061. Both arc lint and arc unit accept an --everything flag, but the documentation isn't quite clear about what these flags do.

They act as though every tracked file in the repository (git ls-files, hg manifest, or svn list -R) is included in the argument list.

They do not lint/test ignored files (and I think almost all users would be very surprised if they did).

They also don't lint/test untracked files (files you have not yet used git add, svn add, or hg add on). This is slightly more contentious but we have good reasons for doing it (e.g., git ls-files often outperforms find . by a large margin) and I believe users very rarely use --everything in a situation where they have untracked files. The only real exception I can come up with is linter configuration/development, as in PHI343, and it seems okay to have a slightly surprising behvaior here.

Make the documentation more clear about what is in scope.

We could also rename these to --nearly-everything or whatever, but I think the name is probably clear enough given current information about how confusing this is (specifically: only rarely, in unusual cases).

Test Plan
  • Grepped for documentation about these flags.
  • Ran arc help lint, arc help unit, arc unit --everything x, arc lint --everything x and read all the new messages.

Diff Detail

Repository
rARC Arcanist
Branch
every1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 19334
Build 26133: Run Core Tests
Build 26132: arc lint + arc unit