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