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
1. Distribution sekmesini açma
Distribution sekmesi SERVER satırındadır: bir bağlantı iki depoyu birbirine bağlar, dolayısıyla PROJECT satırında seçilen depoya bağlı değildir. Sağ üstteki + New Link düğmesine tıklayın: New Distribution Link penceresi açılır.
2. Kaynağı, hedefi ve yolları seçme
Source Repository dosyaların geldiği depo, Target Repository ise hedef depodur:
seçilen kaynak hedef listesinden kaybolur, bir bağlantı kendisine geri dönemez. Path Patterns
her satırda bir desen alır (örneğin Plugins/MyPlugin/,
Content/SharedAssets/) ve en az biri gereklidir: desen olmadan hiçbir şey kopyalanmaz.
3. Create Link ile onaylama
Bağlantı hemen listede görünür. Aynı iki depo arasında zaten var olan bir bağlantı reddedilir (çakışma): ikinci bir tane oluşturmak yerine mevcut olanı düzenleyin.
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
1. Bağlantıyı ve işlemlerini bulma
Her bağlantı listede bir satır kaplar: source → cible, hap biçiminde desenleri, kimin oluşturduğu ve son
yayınlama tarihi. İşlemler satırın sağında gruplanmıştır: Show pending files (dosya simgesi),
Publish history (saat), Publish, bağlantıyı etkinleştiren veya devre dışı bırakan
anahtar, ve silme.
2. Neyin gönderileceğini denetleme
Show pending files satırın altında, farklılık gösteren dosyaların listesini kaynak revizyonlarıyla birlikte açar ve başlıkta bir toplam gösterir (Pending Files (N)). Her biri durumunu taşır: new, modified veya locked. Her şey güncelse panel bunu belirtir.
3. Yayınlama
Publish düğmesi kopyalamayı çalıştırır. Yeşil bir bilgi çubuğu «Published: X source files found, Y updated, Z skipped (locked), W unchanged» şeklinde özetler. Bağlantı pasif olduğu sürece düğme devre dışıdır ve pasif bir bağlantıyı yayınlamak açık bir hata döndürü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).
Publish history (saat) ardından son 50 yayını verir: kaç dosyanın güncellendiği ve atlandığı, kim tarafından ve ne zaman.
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.