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
F13062412: D18989.id45554.diff
Fri, Apr 19, 11:52 PM
F13062411: D18989.id45541.diff
Fri, Apr 19, 11:52 PM
F13062404: D18989.id.diff
Fri, Apr 19, 11:50 PM
F13062347: D18989.diff
Fri, Apr 19, 11:07 PM
F13061332: D18989.diff
Fri, Apr 19, 7:15 PM
Unknown Object (File)
Wed, Apr 17, 3:00 PM
Unknown Object (File)
Thu, Apr 11, 7:12 AM
Unknown Object (File)
Thu, Apr 11, 7:12 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
Lint
Lint Not Applicable
Unit
Tests Not Applicable