Don't permit users to run repo status in a mirror client
If a client was created with "repo init --mirror" then there are
no working directories present, and no files checked out. Using
a command like "repo status" in this context makes no sense, and
actually throws back a Pytyon traceback at the console when the
underlying commands fail out.
We now tag commands with the MirrorSafeCommand type if they are
able to be executed within a mirror directory safely. Using a
command in a mirror which lacks this base class results in a
useful error letting you know the command isn't supported.
Bug: REPO-14
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/subcmds/version.py b/subcmds/version.py
index 4f19a0c..83e77d0 100644
--- a/subcmds/version.py
+++ b/subcmds/version.py
@@ -14,11 +14,11 @@
# limitations under the License.
import sys
-from command import Command
+from command import Command, MirrorSafeCommand
from git_command import git
from project import HEAD
-class Version(Command):
+class Version(Command, MirrorSafeCommand):
common = False
helpSummary = "Display the version of repo"
helpUsage = """