class Xcodeci::GitUtils
Public Instance Methods
checkout_repo(branch)
click to toggle source
# File lib/xcodeci/gitutils.rb, line 26 def checkout_repo branch %x(git checkout #{branch} 2>&1) $?.exitstatus.zero? end
cloning_repo(repository_url)
click to toggle source
def execute_in_repo_folder (repository_url, &block)
Dir.chdir "#{Xcodeci::HOME}/#{repository_name repository_url}" result = block.call Dir.chdir "#{Xcodeci::HOME}" result
end
# File lib/xcodeci/gitutils.rb, line 14 def cloning_repo repository_url #Cloning the repository, it fails if the repository is already cloned dest_folder = File.join(Xcodeci::HOME, (repository_name repository_url)) clone_result = %x(git clone #{repository_url} #{dest_folder} 2>&1) $?.exitstatus.zero? end
fetch_repo()
click to toggle source
# File lib/xcodeci/gitutils.rb, line 21 def fetch_repo %x(git fetch 2>&1) $?.exitstatus.zero? end
get_commit_lists()
click to toggle source
# File lib/xcodeci/gitutils.rb, line 36 def get_commit_lists last_commit = %x(git log -10 --date-order --pretty=format:"%h %ce").split(/\n/) # a single line shoud be in this format "e2d4a86 ignaziocgmail.com" last_commit end
pull_repo()
click to toggle source
# File lib/xcodeci/gitutils.rb, line 31 def pull_repo %x(git pull 2>&1) $?.exitstatus.zero? end
repository_name(repo_url)
click to toggle source
# File lib/xcodeci/gitutils.rb, line 4 def repository_name repo_url repo_url[repo_url.rindex('/') + 1..-1].sub('.git', '') end
rollback_repo(commit)
click to toggle source
# File lib/xcodeci/gitutils.rb, line 42 def rollback_repo commit %x(git checkout "#{commit}" 2>&1) $?.exitstatus.zero? end