GIT Berkomitmen untuk Situs FTP

3

Saya mengerjakan proyek di mana saya hanya memiliki kontrol FTP server. Saya pada dasarnya menyerahkan perubahan dari komitmen GIT ke server.

Apakah ada cara untuk mengotomatisasi ini (tanpa menulis skrip sendiri, yang akan saya lakukan), tanpa dapat menginstal git di server?

Dan Rosenstark
sumber
Anda juga dapat mendorong ke repo telanjang lokal, dan kemudian menyinkronkannya pada tingkat fs dengan alat ftpsync. Ini bukan solusi apa-apa jika repo di ftp digunakan oleh banyak orang.
peterh

Jawaban:

4

Saya pikir yang Anda butuhkan adalah git-ftp . Saya tidak pernah mencobanya.

David Costa
sumber
Terima kasih, David, itu terlihat sangat luar biasa. Saya akan mengeceknya.
Dan Rosenstark
kembali jika itu memperbaiki masalah Anda
kokbira
3

Sementara saya menunggu jawaban, saya memasak ini. Meskipun sekarang saya harus memeriksa git-ftp seperti yang disarankan David Costa. Script ini sebenarnya tidak melakukan apa-apa: itu hanya memberi Anda perintah untuk FTP Anda sendiri.

#!/usr/bin/env ruby
if __FILE__ == $0
  puts "Pulls file list between two git commits and makes ftp commands"
  if ARGV.length != 2
    puts "Sorry, include two hashes as arguments separated by spaces"
    exit
  end

  hash1 = ARGV[0]
  hash2 = ARGV[1]

  command = "git log #{hash1}..#{hash2} --name-status --pretty=\"%p\""

  results = `#{command}`
  results = results.to_a[2..-1].join

  lines = results.to_a
  lines.each do |line|
    modifyAddDelete = line[0..0]
    if (modifyAddDelete=="M" || modifyAddDelete=="A")
      command = "put"
    elsif (modifyAddDelete = "D")
      command = "delete"
    end
    filename = line[2..1000]
    puts "#{command} #{filename}"

  end

end
Dan Rosenstark
sumber