Module: Git
- Defined in:
- lib/atk/git.rb
Class Method Summary collapse
Class Method Details
.ensure_cloned_and_up_to_date(target_dir, git_repo_url) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/atk/git.rb', line 2 def self.ensure_cloned_and_up_to_date(target_dir, git_repo_url) # check if it exists if FS.folder?(target_dir) # check if its a git repo if FS.folder?(target_dir/".git") # fetch master FS.in_dir(target_dir) do system("git fetch origin master") if $?.success? # force pull system("git reset --hard origin/master") end end return else # clear the path FS.delete(target_dir) end end # clone the directory if pulling didn't occur system("git", "clone", git_repo_url, target_dir) end |
.repo_name(url) ⇒ Object
25 26 27 28 29 |
# File 'lib/atk/git.rb', line 25 def self.repo_name(url) require_relative './file_system' *folders, name, extension = FS.path_pieces(url) return name end |