Class: GitCopy

Inherits:
Object
  • Object
show all
Defined in:
lib/gitcopy.rb

Class Method Summary collapse

Class Method Details

.copyRepo(repoPath, destPath = ".") ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/gitcopy.rb', line 6

def self.copyRepo(repoPath, destPath = ".")
  if destPath == "" || destPath == nil
    destPath = "."
  end
  
  ensureValidRepo(repoPath)
  `git clone #{repoPath} #{@tempDir}`
  `rm -rf #{@tempDir}/.git`
  `mkdir -p #{destPath}`
  `mv #{@tempDir}/* #{destPath}`
  `mv #{@tempDir}/.[!.]* #{destPath}`
  `rm -rf #{@tempDir}`
end

.ensureValidRepo(repoPath) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/gitcopy.rb', line 20

def self.ensureValidRepo(repoPath)
  if !repoPath
    fatalError("Please provide a valid github repo")
  end

  repoProtocol = GitProperties.repoProtocol(repoPath)
  repoExtension = GitProperties.repoExtension(repoPath)

  if (repoProtocol != "http" || repoProtocol != "git@") && repoExtension != ".git"
    fatalError("Please provide a valid github repo")
  end
end

.fatalError(error) ⇒ Object



33
34
35
36
# File 'lib/gitcopy.rb', line 33

def self.fatalError(error)
  puts "Error: #{error}"
  exit(false)
end