Git
Rudel, PHP tabanlı Git işlemlerini Pitmaster üzerinden kullanır. Ana makinenin git ikilisini gerektirmez. Uzak depolara HTTP(S) veya SSH üzerinden erişilir.
Her yalıtılmış ortamın, aşağıdaki tüm Git iş akışlarında kullanılan tek bir dal adı vardır: rudel/{sandbox-id}.
Yeni bir yalıtılmış ortama uzak depo klonlama
wp rudel create --name=feature-x --git=https://example.test/my-theme.git
Rudel yalıtılmış ortamı oluşturur, uzak depoyu yalıtılmış ortam dizininin içindeki themes/my-theme konumuna klonlar (dizin adı depo adıdır), varsayılan daldan rudel/{id} dalını oluşturur ve bu dala geçer. --type=plugin kullanılırsa kullanıma alınan öğe bunun yerine plugins/my-theme konumuna gider. Uzak depo, dizin ve temel dal daha sonra gönderme işlemlerinde kullanılmak üzere yalıtılmış ortama kaydedilir. Klonlama başarısız olursa yalıtılmış ortam tutulur ve komut bir uyarı yazdırır.
Kullanıma alınan öğe, wp rudel push için bir çalışma kopyasıdır. Mevcut sürümde yalıtılmış ortam bunu sunmaz (11. sorun):
- Yalıtılmış ortam,
--themeile seçilen temayı veya ana makinenin etkin temasını sunar; tema, yalıtılmış ortam oluşturulurken ana makineden kopyalanır.--theme, ana makineye yüklenmiş bir temayı adlandırmalıdır. Bu nedenle kullanıma alınan öğe yalnızca depo adı bu kısa adla eşleştiğinde ve klon kopyalanan tema dizinine yazdığında sunulur. - Eklentiler her zaman ana makinenin eklenti dizininden yüklenir; bu nedenle
--type=pluginkullanıma alınan öğe hiçbir zaman çalışmaz.
Bağlantılı çalışma ağaçları
Tema dizini bir Git deposu olan yalıtılmış ortamı klonladığınızda Rudel, dosyaları kopyalamak yerine yeni yalıtılmış ortam için bağlantılı bir çalışma ağacı oluşturur:
wp rudel create --name=feature-y --clone-from=feature-x-3be7
Çalışma ağacı rudel/{new-id} dalındadır. Rudel bunu yeni yalıtılmış ortamın meta verilerine; yalıtılmış ortam kimliği, içerik türü ve tema kısa adına dayalı açık bir çalışma ağacı adıyla kaydeder. Böylece aynı tema kısa adını kullanan iki yalıtılmış ortam çakışmaz. Yalıtılmış ortam yok edildiğinde çalışma ağacı kaldırılır ve dalı silinir.
wp rudel cleanup --merged yalnızca bu bağlantılı çalışma ağaçlarını dikkate alır. Bkz. Temizleme.
Değişiklikleri gönderme
wp rudel push feature-x-3be7 --message="Update checkout template"
push kullanıma alınan öğedeki tüm değişiklikleri kaydeder ve rudel/{id} dalını origin konumuna gönderir. Hiçbir değişiklik yoksa No changes to push. döndürür.
- Kayıtlı uzak depo yoksa
--git=<remote>uzak depoyu ayarlar; ilk başarılı göndermeden sonra hatırlanır. --dir=<dir>, yalıtılmış ortam dizinine göreli dizini seçer; örneğinthemes/my-theme. Varsayılan olarak--gittarafından kaydedilen dizin kullanılır; bu yoksa yalıtılmış ortam dizininin tamamı seçilir.--messagevarsayılan olarakUpdate from Rudel sandboxdeğerindedir.
PHP içinden Rudel::push( $id, $remote_url, $message, $subdir ) aynı işlemi yapar ve rudel_*_environment_push kancalarını tetikler.
Gönderim kimliği
Kullanıma alınan öğenin Git yapılandırmasında user.name veya user.email yoksa Rudel, Rudel ve rudel@localhost değerlerini yazar. Başka değerler kullanmak için RUDEL_GIT_AUTHOR_NAME ve RUDEL_GIT_AUTHOR_EMAIL değerlerini wp-config.php içinde tanımlayın.