lib/braid/command.rb in braid-1.1.6 vs lib/braid/command.rb in braid-1.1.7
- old
+ new
@@ -1,7 +1,10 @@
+# typed: true
module Braid
class Command
+ extend T::Sig
+
class InvalidRevision < BraidError
end
extend Operations::VersionControl
include Operations::VersionControl
@@ -21,32 +24,37 @@
msg "Error: #{error.message}"
end
exit(1)
end
+ sig {params(str: String).void}
def self.msg(str)
puts "Braid: #{str}"
end
+ sig {params(str: String).void}
def msg(str)
self.class.msg(str)
end
def config
@config ||= Config.new({'mode' => config_mode})
end
+ sig {returns(T::Boolean)}
def verbose?
Braid.verbose
end
+ sig {returns(T::Boolean)}
def force?
Braid.force
end
private
+ sig {returns(Config::ConfigMode)}
def config_mode
Config::MODE_MAY_WRITE
end
def setup_remote(mirror)
@@ -61,18 +69,21 @@
def clear_remote(mirror, options)
git.remote_rm(mirror.remote) unless options['keep']
end
+ sig {returns(T::Boolean)}
def use_local_cache?
Braid.use_local_cache
end
+ sig {void}
def self.verify_git_version!
git.require_version!(REQUIRED_GIT_VERSION)
end
+ sig {void}
def self.check_working_dir!
# If we aren't in a git repository at all, git.is_inside_worktree will
# propagate a "fatal: Not a git repository" ShellException.
unless git.is_inside_worktree
raise BraidError, 'Braid must run inside a git working tree.'
@@ -80,10 +91,11 @@
if git.relative_working_dir != ''
raise BraidError, 'Braid does not yet support running in a subdirectory of the working tree.'
end
end
+ sig {void}
def bail_on_local_changes!
git.ensure_clean!
end
def with_reset_on_error
@@ -98,9 +110,10 @@
git.reset_hard(work_head)
raise error
end
end
+ sig {void}
def add_config_file
git.rm(OLD_CONFIG_FILE) if File.exist?(OLD_CONFIG_FILE)
git.add(CONFIG_FILE)
end