mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-17 07:26:23 +00:00
poder traer actualizaciones desde repositorios remotos
sin credenciales ssh no era posible traer los cambios desde repositorios remotos y permitir actualizar desde el panel.
This commit is contained in:
parent
dab44aa1cf
commit
908a0a90a8
1 changed files with 22 additions and 2 deletions
|
@ -44,8 +44,8 @@ class Site
|
||||||
#
|
#
|
||||||
# @return [Integer]
|
# @return [Integer]
|
||||||
def fetch
|
def fetch
|
||||||
if origin.check_connection :fetch
|
if origin.check_connection(:fetch, credentials: credentials)
|
||||||
rugged.fetch(origin)[:received_objects]
|
rugged.fetch(origin, credentials: credentials)[:received_objects]
|
||||||
else
|
else
|
||||||
0
|
0
|
||||||
end
|
end
|
||||||
|
@ -149,6 +149,26 @@ class Site
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
# Si Sutty tiene una llave privada de tipo ED25519, devuelve las
|
||||||
|
# credenciales necesarias para trabajar con repositorios remotos.
|
||||||
|
#
|
||||||
|
# @return [Nil, Rugged::Credentials::SshKey]
|
||||||
|
def credentials
|
||||||
|
return unless File.exist? private_key
|
||||||
|
|
||||||
|
@credentials ||= Rugged::Credentials::SshKey.new username: 'git', publickey: public_key, privatekey: private_key
|
||||||
|
end
|
||||||
|
|
||||||
|
# @return [String]
|
||||||
|
def public_key
|
||||||
|
@public_key ||= Rails.root.join('.ssh', 'id_ed25519.pub')
|
||||||
|
end
|
||||||
|
|
||||||
|
# @return [String]
|
||||||
|
def private_key
|
||||||
|
@private_key ||= Rails.root.join('.ssh', 'id_ed25519')
|
||||||
|
end
|
||||||
|
|
||||||
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
|
||||||
|
|
Loading…
Reference in a new issue