remot git gem , use cmds and push ad commit
This commit is contained in:
@ -1,11 +1,9 @@
|
||||
require "git"
|
||||
require "open3"
|
||||
|
||||
module Merged
|
||||
class ChangesController < MergedController
|
||||
|
||||
def index
|
||||
@git = Git.open(Rails.root)
|
||||
@status = @git.status()
|
||||
end
|
||||
|
||||
def commit
|
||||
@ -13,25 +11,21 @@ module Merged
|
||||
message = "must have message"
|
||||
redirect_to changes_index_url , alert: message
|
||||
else
|
||||
git = Git.open(Rails.root)
|
||||
git.add("merged")
|
||||
git.add( Image.asset_root )
|
||||
begin
|
||||
git.config('user.email', current_member.email)
|
||||
git.commit(params[:message])
|
||||
ChangeSet.current.zero
|
||||
redirect_to changes_index_url , notice: "Changes commited"
|
||||
rescue => e
|
||||
redirect_to changes_index_url , notice: "Error occurred #{e}"
|
||||
end
|
||||
out = capture("git add merged")
|
||||
out = capture("git add #{Image.asset_root}" , out)
|
||||
out = capture("git config --local user.email #{current_member.email}" ,out)
|
||||
out = capture('git commit -m "#{message}"' ,out)
|
||||
out = capture("git pull --rebase=true" ,out)
|
||||
out = capture("git push" ,out)
|
||||
ChangeSet.current.zero
|
||||
redirect_to changes_index_url , notice: "Changes commited, #{out}"
|
||||
end
|
||||
end
|
||||
|
||||
def reset
|
||||
git = Git.open(Rails.root)
|
||||
begin
|
||||
git.checkout_file("HEAD" , Merged.data_dir)
|
||||
git.checkout_file("HEAD" , Merged::Image.asset_root)
|
||||
out = capture("git checkout #{Merged.data_dir}")
|
||||
out = capture("git checkout #{Merged::Image.asset_root}" , out)
|
||||
ChangeSet.current.zero
|
||||
message = "Changes reset"
|
||||
rescue
|
||||
@ -40,5 +34,12 @@ module Merged
|
||||
redirect_to changes_index_url , notice: message
|
||||
end
|
||||
|
||||
private
|
||||
def capture(cmd , previous = "")
|
||||
out , ignore_status = Open3.capture2e(cmd)
|
||||
puts "CMD:#{ignore_status}: #{cmd}"
|
||||
puts out
|
||||
previous + "\n" + out
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,6 +1,11 @@
|
||||
require 'open3'
|
||||
module Merged
|
||||
module ChangesHelper
|
||||
|
||||
def branch
|
||||
%x[git branch]
|
||||
end
|
||||
|
||||
def cms_part? name
|
||||
return true if name.include?( Merged.images_dir )
|
||||
return true if name.include?(Merged.data_dir)
|
||||
|
@ -3,8 +3,7 @@
|
||||
Changes
|
||||
.text-xl.text-gray-900
|
||||
Branch
|
||||
= @git.current_branch
|
||||
|
||||
= branch
|
||||
.overflow-hidden.overflow-x-auto.rounded-lg.border.border-gray-200.m-20
|
||||
%table.min-w-full.divide-y.divide-gray-200.text-sm
|
||||
%thead.bg-gray-100
|
||||
|
Reference in New Issue
Block a user