fast automerge: done

This commit is contained in:
Valery Sizov 2012-04-22 16:14:01 +03:00
parent dcbb875c46
commit e5f8397fd4
5 changed files with 52 additions and 21 deletions

41
lib/gitlabhq/satellite.rb Normal file
View file

@ -0,0 +1,41 @@
module Gitlabhq
class Satellite
PARKING_BRANCH = "__parking_branch"
attr_accessor :project
def initialize project
self.project = project
end
def create
`git clone #{project.url_to_repo} #{path}`
end
def path
File.join(Rails.root, "tmp", "repo_satellites", project.path)
end
def exists?
File.exists? path
end
#will be deleted all branches except PARKING_BRANCH
def clear
Dir.chdir(path) do
heads = Grit::Repo.new(".").heads.map{|head| head.name}
if heads.include? PARKING_BRANCH
`git checkout #{PARKING_BRANCH}`
else
`git checkout -b #{PARKING_BRANCH}`
end
heads.delete(PARKING_BRANCH)
heads.each do |head|
`git branch -D #{head}`
end
end
end
end
end