mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-25 05:16:22 +00:00
Merge branch 'issue-12919' of https://0xacab.org/sutty/sutty into 17.3.alpine.panel.sutty.nl
This commit is contained in:
commit
08a05d8919
2 changed files with 32 additions and 9 deletions
12
app/jobs/git_push_job.rb
Normal file
12
app/jobs/git_push_job.rb
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
# Permite pushear los cambios cada vez que se
|
||||||
|
# hacen commits en un sitio
|
||||||
|
class GitPushJob < ApplicationJob
|
||||||
|
# @param :site [Site]
|
||||||
|
# @return [nil]
|
||||||
|
def perform(site)
|
||||||
|
#detectar que el repo local tiene repo remoto
|
||||||
|
site.repository.push if site.repository.origin
|
||||||
|
end
|
||||||
|
end
|
|
@ -29,7 +29,7 @@ class Site
|
||||||
|
|
||||||
# Obtiene el origin
|
# Obtiene el origin
|
||||||
#
|
#
|
||||||
# @return [Rugged::Remote]
|
# @return [Rugged::Remote, nil]
|
||||||
def origin
|
def origin
|
||||||
@origin ||= rugged.remotes.find do |remote|
|
@origin ||= rugged.remotes.find do |remote|
|
||||||
remote.name == 'origin'
|
remote.name == 'origin'
|
||||||
|
@ -153,15 +153,15 @@ class Site
|
||||||
#
|
#
|
||||||
# @return [Boolean]
|
# @return [Boolean]
|
||||||
def gc
|
def gc
|
||||||
env = { 'PATH' => '/usr/bin', 'LANG' => ENV['LANG'], 'HOME' => path }
|
git_sh("git gc")
|
||||||
cmd = 'git gc'
|
|
||||||
|
|
||||||
r = nil
|
|
||||||
Open3.popen2e(env, cmd, unsetenv_others: true, chdir: path) do |_, _, t|
|
|
||||||
r = t.value
|
|
||||||
end
|
end
|
||||||
|
|
||||||
r&.success?
|
# Pushea cambios al repositorio remoto
|
||||||
|
#
|
||||||
|
# @return [Boolean, nil]
|
||||||
|
def push
|
||||||
|
origin.push(rugged.head.canonical_name, credentials: credentials)
|
||||||
|
git_sh("git lfs push")
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
@ -189,5 +189,16 @@ class Site
|
||||||
def relativize(file)
|
def relativize(file)
|
||||||
Pathname.new(file).relative_path_from(Pathname.new(path)).to_s
|
Pathname.new(file).relative_path_from(Pathname.new(path)).to_s
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def git_sh(cmd)
|
||||||
|
env = { 'PATH' => '/usr/bin', 'LANG' => ENV['LANG'], 'HOME' => path }
|
||||||
|
|
||||||
|
r = nil
|
||||||
|
Open3.popen2e(env, cmd, unsetenv_others: true, chdir: path) do |_, _, t|
|
||||||
|
r = t.value
|
||||||
|
end
|
||||||
|
|
||||||
|
r&.success?
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue