uVersion
Türkçe
İndir →

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

Diğer sekmelerden farklı bir erişim modeli Dağıtım, diğer sekmeler gibi korunmaz. 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.

New Distribution Link penceresi: Source Repository ve Target Repository menüleri, iki desenle doldurulmuş Path Patterns (one per line) alanı, ve Cancel ile Create Link düğmeleri.

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.

Bir bağlantı satırının altında açılmış Pending Files paneli: new, modified veya locked olarak işaretlenmiş yollar ve kaynak revizyonları, ve listenin üstünde son yayının bıraktığı yeşil bilgi çubuğu.

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).

Revizyon numaralandırma Dağıtılan revizyonlar, artımlı senkronizasyonun bunları alabilmesi için hedefin geçerli revizyonunun üzerinde küresel bir sayaç kullanır. Bu nedenle bir dosyanın geçmişi «atlayabilir» (örn. rev 1 sonra rev 200): bu görseldir. Parçalar (chunk) paylaşılır (veri çoğaltması yoktur, yalnızca bir referans artışı).

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.