HomePhabricator

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

Authored by epriestley on Feb 4 2018, 2:14 PM.

Description

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

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.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13061

Differential Revision: https://secure.phabricator.com/D18989