lib/docman/git_util.rb in docman-0.0.8 vs lib/docman/git_util.rb in docman-0.0.9

- old
+ new

@@ -6,21 +6,33 @@ @logger = Logger.new(STDOUT) def self.exec(command) @logger.info command - @logger.info `#{command}`.delete!("\n") + result = `#{command}`.delete!("\n") + @logger.info result if result + raise result unless $?.exitstatus == 0 + result end + def self.reset_repo(path) + Dir.chdir path + exec 'git reset --hard' + exec 'git clean -f -d' + end + def self.get(repo, path, type, version) if File.directory? path and File.directory?(File.join(path, '.git')) Dir.chdir path + + self.reset_repo(path) if self.repo_changed?(path) + if type == 'branch' exec "git checkout #{version}" exec "git pull origin #{version}" end if type == 'tag' - exec "git fetch --tags" + exec 'git fetch --tags' exec "git checkout tags/#{version}" end else FileUtils.rm_rf path if File.directory? path exec "git clone #{repo} #{path}" \ No newline at end of file