lib/apps/git.rb in dev-2.1.153 vs lib/apps/git.rb in dev-2.1.154
- old
+ new
@@ -1,216 +1,215 @@
+# frozen_string_literal: true
+
if defined?(DEBUG)
- puts DELIMITER
- puts __FILE__
- puts
- puts 'git not found' if(!Command.executes?('git --version'))
- puts
+ puts DELIMITER
+ puts __FILE__
+ puts
+ puts "git not found" unless Command.executes?("git --version")
+ puts
end
-require 'tmpdir'
-require 'rake'
+require "tmpdir"
+require "rake"
class Git
- def self.branch directory=''
- directory=Dir.pwd if directory.length == 0
- Dir.chdir(directory) do
- begin
- `git branch`.scan(/\* ([.\w-]+)/)[0][0] if(File.exists?('.git'))
- rescue
- ''
- end
- end
+ def self.branch(directory = "")
+ directory = Dir.pwd if directory.length.zero?
+ Dir.chdir(directory) do
+ `git branch`.scan(/\* ([.\w-]+)/)[0][0] if File.exist?(".git")
+ rescue StandardError
+ ""
end
- def self.url
- url=''
- url=`git config --get remote.origin.url` if(File.exists?('.git'))
- end
+ end
- @@master_url=''
- def self.master_url
- @@master_url
+ def self.url
+ url = ""
+ url = `git config --get remote.origin.url` if File.exist?(".git")
+ end
+
+ @@master_url = ""
+ def self.master_url
+ @@master_url
+ end
+
+ def self.master_url=(url)
+ @@master_url = url
+ end
+
+ def self.is_fork?
+ master_url != url
+ end
+
+ def self.user_email
+ email = ""
+ begin
+ email = `git config --list`.scan(/user.email=([\d\w.@\-+]+)/)[0][0]
+ rescue StandardError
+ email = ""
end
- def self.master_url=(url)
- @@master_url=url
- end
- def self.is_fork?
- self.master_url != self.url
- end
-
- def self.user_email
- email=''
- begin
- email=`git config --list`.scan(/user.email=([\d\w.@\-\+]+)/)[0][0]
- rescue
- email=''
- end
- email
- end
+ email
+ end
- def self.user_name
- name=''
- begin
- name=`git config --list`.scan(/user.name=([\d\w.@\-\+]+)/)[0][0]
- rescue
- name=''
- end
- name
+ def self.user_name
+ name = ""
+ begin
+ name = `git config --list`.scan(/user.name=([\d\w.@\-+]+)/)[0][0]
+ rescue StandardError
+ name = ""
end
+ name
+ end
- def self.remote_origin directory=''
- url=''
- directory=Dir.pwd if directory.length == 0
- Dir.chdir(directory) do
- begin
- url=`git remote show origin`.scan(/Fetch URL: ([\.\-:\/\w\d]+)/)[0][0] if(File.exists?('.git'))
- rescue
- url=''
- end
- end
- url
+ def self.remote_origin(directory = "")
+ url = ""
+ directory = Dir.pwd if directory.length.zero?
+ Dir.chdir(directory) do
+ url = `git remote show origin`.scan(%r{Fetch URL: ([.\-:/\w\d]+)})[0][0] if File.exist?(".git")
+ rescue StandardError
+ url = ""
end
+ url
+ end
- def self.has_changes? directory=''
- directory=Dir.pwd if directory.length==0
- Dir.chdir(directory) do
- if(File.exists?('.git'))
- return true if `git status`.include?('modified:')
- return true if `git status`.include?('new file:')
- end
- end
- false
+ def self.has_changes?(directory = "")
+ directory = Dir.pwd if directory.length.zero?
+ Dir.chdir(directory) do
+ if File.exist?(".git")
+ return true if `git status`.include?("modified:")
+ return true if `git status`.include?("new file:")
+ end
end
+ false
+ end
- def self.init directory=''
- directory=Dir.pwd if directory.length==0
- parent=File.dirname(directory)
- FileUtils.mkdir_p parent if !File.exists?(parent) && parent.length > 0
- Dir.chdir(parent) do
- `git init --bare`
-
- end
+ def self.init(directory = "")
+ directory = Dir.pwd if directory.length.zero?
+ parent = File.dirname(directory)
+ FileUtils.mkdir_p parent if !File.exist?(parent) && parent.length.positive?
+ Dir.chdir(parent) do
+ `git init --bare`
end
+ end
- def self.tag directory,version
- directory=Dir.pwd if directory.length == 0
- Dir.chdir(directory) do
- #`git pull`
- tags=`git tag`
- if(!tags.include?(version))
- puts 'tagging branch'
- puts `git tag #{version} -m'#{version}'`
- puts 'committing'
- puts `git commit -m'#{version}'`
- #puts 'pushing'
- #puts `git push --tags`
- #puts `git push`
- end
- end
+ def self.tag(directory, version)
+ directory = Dir.pwd if directory.length.zero?
+ Dir.chdir(directory) do
+ # `git pull`
+ tags = `git tag`
+ unless tags.include?(version)
+ puts "tagging branch"
+ puts `git tag #{version} -m'#{version}'`
+ puts "committing"
+ puts `git commit -m'#{version}'`
+ # puts 'pushing'
+ # puts `git push --tags`
+ # puts `git push`
+ end
end
+ end
- def self.publish destination, source_dir, source_filelist, tag
- puts "publish to #{destination}"
- tmp_dir=Dir.mktmpdir
- FileUtils.mkdir_p(File.dirname(tmp_dir)) if(!File.exists?(File.dirname(tmp_dir)))
- FileUtils.rm_r(tmp_dir) if File.exists?(tmp_dir)
- puts `git clone #{destination} #{tmp_dir}`
+ def self.publish(destination, source_dir, source_filelist, tag)
+ puts "publish to #{destination}"
+ tmp_dir = Dir.mktmpdir
+ FileUtils.mkdir_p(File.dirname(tmp_dir)) unless File.exist?(File.dirname(tmp_dir))
+ FileUtils.rm_r(tmp_dir) if File.exist?(tmp_dir)
+ puts `git clone #{destination} #{tmp_dir}`
- puts "checking if tag #{tag} exists..."
- Dir.chdir(tmp_dir) do
- tags=`git tag`
- if(tags.include?(tag))
- puts "tag #{tag} already exists."
- else
- puts "tag #{tag} does not exist."
- Dir.chdir(source_dir) do
- source_filelist.each{|f|
- dest = tmp_dir + "/" + f
- FileUtils.mkdir_p(File.dirname(dest)) if(!File.exists?(File.dirname(dest)))
- FileUtils.cp(f,dest);
- puts "copying file #{f} for publishing"
- }
- end
- puts 'git add -A'
- puts `git add -A`
- puts 'git commit -m"add"'
- puts `git commit -m"add"`
- Git.tag tmp_dir,tag
- end
+ puts "checking if tag #{tag} exists..."
+ Dir.chdir(tmp_dir) do
+ tags = `git tag`
+ if tags.include?(tag)
+ puts "tag #{tag} already exists."
+ else
+ puts "tag #{tag} does not exist."
+ Dir.chdir(source_dir) do
+ source_filelist.each do |f|
+ dest = "#{tmp_dir}/#{f}"
+ FileUtils.mkdir_p(File.dirname(dest)) unless File.exist?(File.dirname(dest))
+ FileUtils.cp(f, dest)
+ puts "copying file #{f} for publishing"
+ end
end
+ puts "git add -A"
+ puts `git add -A`
+ puts 'git commit -m"add"'
+ puts `git commit -m"add"`
+ Git.tag tmp_dir, tag
+ end
+ end
- FileUtils.rm_r tmp_dir
+ FileUtils.rm_r tmp_dir
+ end
+
+ def self.clone_and_reset(uri, directory, tagname)
+ unless File.exist?(directory)
+ `git clone #{uri} #{directory}`
+ Dir.chdir(directory) do
+ `git reset --hard #{tagname}`
+ end
end
+ end
- def self.clone_and_reset uri, directory, tagname
- if(!File.exists?(directory))
- `git clone #{uri} #{directory}`
- Dir.chdir(directory) do
- `git reset --hard #{tagname}`
- end
- end
+ def self.latest_tag(directory = "")
+ if directory.length.zero?
+ Command.output("git describe --abbrev=0 --tags").strip
+ # `git describe --abbrev=0 --tags`.strip
+ else
+ result = ""
+ Dir.chdir(directory) do
+ result = Command.output("git describe --abbrev=0 --tags").strip
+ # result=`git describe --abbrev=0 --tags`.strip
+ end
+ result
end
+ end
- def self.latest_tag directory=''
- if directory.length==0
- Command.output('git describe --abbrev=0 --tags').strip
- #`git describe --abbrev=0 --tags`.strip
- else
- result=''
- Dir.chdir(directory) do
- result=Command.output('git describe --abbrev=0 --tags').strip
- #result=`git describe --abbrev=0 --tags`.strip
- end
- result
- end
+ def self.copy(src_url, src_directory, branch, target_directory, filelist)
+ if !File.exist?(src_directory)
+ puts "git clone #{src_url} #{src_directory}"
+ # puts `git clone #{src_url} #{src_directory}`
+ else
+ puts "chdir #{src_directory}"
+ Dir.chdir(src_directory) do
+ puts "git pull"
+ git_pull = Command.new("git pull")
+ git_pull[:directory] = src_directory
+ git_pull[:timeout] = 30
+ git_pull[:ignore_failure] = true
+ git_pull.execute
+ end
end
- def self.copy(src_url,src_directory,branch,target_directory,filelist)
- if(!File.exists?(src_directory))
- puts "git clone #{src_url} #{src_directory}"
- #puts `git clone #{src_url} #{src_directory}`
- else
- puts "chdir #{src_directory}"
- Dir.chdir(src_directory) do
- puts "git pull"
- git_pull=Command.new('git pull')
- git_pull[:directory]=src_directory
- git_pull[:timeout] = 30
- git_pull[:ignore_failure] =true
- git_pull.execute
-
- end
- end
-
- puts "chdir #{src_directory}"
- Dir.chdir(src_directory) do
- puts "git checkout #{branch}"
- #puts `git checkout #{branch}`
- filelist.each{|f|
- dest="#{target_directory}/#{f}"
- FileUtils.mkdir_p File.dirname(dest) if !File.exists? File.dirname(dest)
- puts "copying #{f} to #{dest}"
- FileUtils.cp(f,dest)
- }
- end
+ puts "chdir #{src_directory}"
+ Dir.chdir(src_directory) do
+ puts "git checkout #{branch}"
+ # puts `git checkout #{branch}`
+ filelist.each do |f|
+ dest = "#{target_directory}/#{f}"
+ FileUtils.mkdir_p File.dirname(dest) unless File.exist? File.dirname(dest)
+ puts "copying #{f} to #{dest}"
+ FileUtils.cp(f, dest)
+ end
end
+ end
- def self.copy_gsub(url,branch,glob,glob_search,glob_replace,destination_directory)
- temp_dir = Dir.mktmpdir
- begin
- puts `git clone #{url} #{temp_dir}`
- puts "cd #{temp_dir}"
- Dir.chdir(temp_dir) do
- puts `git checkout #{branch}`
- puts "glob #{glob}"
- Dir.glob(glob).each{|f|
- relative_filename=f.gsub(glob_search,glob_replace)
- dest="#{destination_directory}/#{relative_filename}"
- FileUtils.mkdir_p File.dirname(dest) if(!Dir.exists?(File.dirname(dest)))
- puts "copying #{f} to #{dest}"
- FileUtils.copy(f,dest)
- }
- end
- ensure
- FileUtils.remove_entry_secure temp_dir
+ def self.copy_gsub(url, branch, glob, glob_search, glob_replace, destination_directory)
+ temp_dir = Dir.mktmpdir
+ begin
+ puts `git clone #{url} #{temp_dir}`
+ puts "cd #{temp_dir}"
+ Dir.chdir(temp_dir) do
+ puts `git checkout #{branch}`
+ puts "glob #{glob}"
+ Dir.glob(glob).each do |f|
+ relative_filename = f.gsub(glob_search, glob_replace)
+ dest = "#{destination_directory}/#{relative_filename}"
+ FileUtils.mkdir_p File.dirname(dest) unless Dir.exist?(File.dirname(dest))
+ puts "copying #{f} to #{dest}"
+ FileUtils.copy(f, dest)
end
+ end
+ ensure
+ FileUtils.remove_entry_secure temp_dir
end
-end
\ No newline at end of file
+ end
+end