Wiki
Dağıtım
Dosyaları (eklentiler, paylaşılan içerik) yol desenlerine göre bir kaynak depodan bir hedef depoya kopyalama. Yayınlama, yeniden eşleme, atlanan kilitler.
Giriş
Dağıtım, dosyaları (bir eklenti, paylaşılan bir içerik paketi) yol desenleri ile sınırlandırarak bir kaynak depodan bir hedef depoya kopyalar. Hedefte yeni revizyonlar oluşturur, böylece olağan artımlı senkronizasyon içeriği istemcilere yayar. Bu, aynı eklentiyi elle kopyalayıp yapıştırmadan birden çok proje arasında paylaşmanın yoludur.
Erişim ve roller
manage_rules yeteneğini gerektirir; bu yetenek sunucunun
tamamında admin ve lead tarafından tutulur. Hiçbir yeteneği bulunmayan bir
project_admin, erişemez. lead ise herhangi bir depoyu başka herhangi bir depoya
bağlayabilir.
Bağlantı oluşturma
- Distribution sekmesi → New Link.
- Source Repository: dosyaların geldiği depo.
- Target Repository: hedef depo (seçilen kaynak listeden çıkarılır; kaynak ve hedef aynı olamaz).
- Path Patterns: her satırda bir desen (örn.
Plugins/MyPlugin/,Content/SharedAssets/). En az biri gereklidir. - Create Link ile onaylayın.
Aynı iki depo arasında zaten var olan bir bağlantı reddedilir (çakışma). Her satır
source → cible, desenlerini, kimin oluşturduğunu ve son yayınlama tarihini gösterir.
Yol desenleri
Bir desen, bir yolun herhangi bir yerinde görünüyorsa o yolla eşleşir («içerir» türünde arama).
Dolayısıyla bir Plugins/uVersion deseni, proje öneki ne olursa olsun
DefaultProject/Plugins/uVersion/Source/Foo.cpp ile eşleşir. Sondaki eğik çizgi hiçbir şeyi değiştirmez.
Yayınlama
Her bağlantı için üç işlem:
- Show pending files (dosya simgesi): farklılık gösteren dosyaları new, modified veya locked olarak işaretleyip revizyonlarıyla birlikte listeler.
- Publish history (saat): son 50 yayın (kaçı güncellendi / atlandı, kim, ne zaman).
- Publish (gönder): kopyalamayı çalıştırır. Bir bilgi çubuğu «X kaynak dosya bulundu, Y güncellendi, Z atlandı (kilitli), W değişmedi» şeklinde özetler. Bağlantı pasifse devre dışıdır.
Hedefte kilitli bir dosya üzerine yazılmaz, atlanır. İçeriği aynı (aynı karma) olan bir dosya değişmemiş sayılır ve atlanır. Yayınlama atomiktir (tek bir işlem).
Bir bağlantıyı etkinleştirebilir / devre dışı bırakabilir veya silebilirsiniz.
Yeniden eşleme ve revizyonlar
Yol, hedef için yeniden yazılır: uVersion, eşleşen desenden önceki kısmı kaldırır, ardından hedefte
algılanan öneki ekler. Örnek: kaynak
DefaultProject/Plugins/uVersion/foo.cpp, desen Plugins/uVersion, hedef öneki
CineDroneStudio/ → CineDroneStudio/Plugins/uVersion/foo.cpp. Hedef öneki, hedefteki mevcut
bir dosyadan çıkarılır (proje alt klasörü olan veya olmayan depoların yönetimi).
Sık karşılaşılan tuzaklar
«Publish» soluk görünüyor
Bağlantı pasif. Önce onu etkinleştirin. Pasif bir bağlantıyı yayınlamak açık bir hata döndürür.
Bir dosya hedefte güncellenmiyor
Ya hedef tarafında kilitlidir (bu durumda atlanır ve «locked» olarak sayılır) ya da içeriği zaten aynıdır («unchanged» olarak sayılır). Yayınlama özetine ve pending files listesine bakın.
Bir project_admin sekmeyi görmüyor
Bu kasıtlıdır: dağıtım manage_rules gerektirir (admin veya lead). Bir project_admin, kendi depolarında
bile erişemez.