FTP'yi SVN ile senkronize et


0

Arka plan: Düzenlemem gereken bir site var. Dosyalara erişmenin tek yolu FTP'dir. Ancak onu düzenleyecek tek kişi ben olmadığımdan (geri alma ve başka sebeplerden dolayı grup sahibi olmak istiyorum) sürüm kontrol sistemine ihtiyacımız var.

Önceleri (kendi sunucumuzda, kökün bulunduğu yer), sitenin dizinini (site aynı Linux sunucusundaydı) güncelleyen, post-commit hook ile SVN kullanıyorduk.

Güncellenen dosyaları FTP yoluyla uzaktan kumandanın üzerine yükleyen taahhüt sonrası kanca yapmak mümkün müdür? 'Sadece güncellenmiş' dosyaları tespit etmenin bir yolu var mı? Belki hazır çözüm?


1
Eski iş akışını neden reddettiniz (SVN'den FTP üzerinden SITE'a)?
Lazy Badger

Hedef sunucuya erişemiyorum ama FTP. Eski iş akışı 'doğrudan SİTE'ye SVN'di, ancak bu kendi sunucumuzdaydı (bunu OP-post'a ekledi).
Dmitry

ve ne?? REPO'da bile aynı şekilde çalışabilirsiniz ve çalışmak zorundasınız ve SİTE farklı konakçılar - sadece yapmanız gereken ftp yerine cp. Göremiyorum herhangi araştırma işi
Lazy Badger

Yanıtlar:


0

Güncellenen dosyaları FTP yoluyla uzaktan kumandanın üzerine yükleyen taahhüt sonrası kanca yapmak mümkün müdür?

Evet mümkün

'Sadece güncellenmiş' dosyaları tespit etmenin bir yolu var mı?

En az iki (AFAICR):

  • svn log -v -q -r HEAD REPO-URL (herhangi bir yerden)
  • svnlook changed REPO_PATH (REPO sunucusu için, REPO_PATH FS'de yerel yoldur)

Gördüğüm gibi, peş peşe iki kancada birbirini takip eden alt görevi çözmelisin (çözersen) doğru görev : site repo güncelleme ve ters sapıklık değil bazı bağımsız yer)

  • revizyondan etkilenen dosya ağacını oluşturmak
  • uzak ana bilgisayara saf FTP kullanarak bu ağacı yükle

Görev için çözümler 1

Benim yazdığım ilk üç komuttan herhangi biri İşte (diğer uygulamalar vahşi Net’te de bulunabilir)

Görev 2 için çözüm

Parçası kullanarak NcFTP İstemcisi ( NcFTPPut ) kolay tek satırlık komutla ağaç yüklemek için


Haklısın! Yanıtınız için teşekkürler, bunu yapmaya çalışacağım ve sonuç hakkında da yazıyorum.
Dmitry
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.