Module: GitCommands
- Included in:
- GitDownloadStrategy, GitUpdateStrategy, Package
- Defined in:
- lib/lace/download_strategy.rb
Instance Method Summary collapse
- #clone_args ⇒ Object
- #clone_repo ⇒ Object
- #git_dir ⇒ Object
- #repo_modified? ⇒ Boolean
- #repo_valid? ⇒ Boolean
- #reset ⇒ Object
- #submodules? ⇒ Boolean
- #update_repo ⇒ Object
- #update_submodules ⇒ Object
Instance Method Details
#clone_args ⇒ Object
88 89 90 91 |
# File 'lib/lace/download_strategy.rb', line 88 def clone_args args = %w[clone] args << @uri << @target_folder end |
#clone_repo ⇒ Object
93 94 95 96 |
# File 'lib/lace/download_strategy.rb', line 93 def clone_repo safe_system 'git', *clone_args @target_folder.cd { update_submodules } if submodules? end |
#git_dir ⇒ Object
67 68 69 |
# File 'lib/lace/download_strategy.rb', line 67 def git_dir @target_folder.join('.git') end |
#repo_modified? ⇒ Boolean
75 76 77 78 79 80 81 82 |
# File 'lib/lace/download_strategy.rb', line 75 def repo_modified? @target_folder.cd do result = `git status --porcelain` result.split("\n").any? do |line| line =~ /^ M/ end end end |
#repo_valid? ⇒ Boolean
71 72 73 |
# File 'lib/lace/download_strategy.rb', line 71 def repo_valid? quiet_system 'git', '--git-dir', git_dir, 'status', '-s' end |
#reset ⇒ Object
63 64 65 |
# File 'lib/lace/download_strategy.rb', line 63 def reset safe_system 'git', 'reset', '--hard', 'origin/HEAD' end |
#submodules? ⇒ Boolean
84 85 86 |
# File 'lib/lace/download_strategy.rb', line 84 def submodules? @target_folder.join('.gitmodules').exist? end |
#update_repo ⇒ Object
59 60 61 |
# File 'lib/lace/download_strategy.rb', line 59 def update_repo safe_system 'git', 'fetch', 'origin' end |
#update_submodules ⇒ Object
98 99 100 |
# File 'lib/lace/download_strategy.rb', line 98 def update_submodules safe_system 'git', 'submodule', 'update', '--init' end |