2014-10-03 13 views
6

Redmine'de bulunan eski git depomuzda yeni Gerrit depomuza geçiş yaparken bazı garip problemlerim var. Havuz Deposu Gerrit, git push --mirror, refs/meta/config değerini döndürür (proje yapılandırmasını silemez)

Temelde i Eh bir

git clone --mirror ssh:// .... old-repo.git 
cd old-repo.git/ 
git push --mirror ssh:// .... new-gerrit-repo 

yapılan şimdi İlk önce bazı uyarılar var: Orijinal depo hala referans olarak var olacaktır, çünkü ben görmezden sanırım

remote: (W) a01300f: commit message lines >70 characters; manually wrap lines 
remote: (W) 8def171: commit subject >65 characters; use shorter first paragraph 

. Bu hakemler/meta/config dalı sadece Gerrit için bazı proje belirli kurallar içerdiğini, ben öğrendim bazı okumadan sonra

! [remote rejected] refs/meta/config (cannot delete project configuration) 
error: failed to push some refs to ssh:// .... new-gerrit-repo 

:

Benim asıl sorun bu hatadır. Gerrit'i parametrizde etmek için birkaç yapılandırma dosyası var. (temelde Gerrit "Genel" Sekmesi altındaki Proje Seçenekleri sayfası) Proje ile ilgili kaynak dosyaları yok.

Birisi bana yardımcı olabilir mi? Bu hatayı görmezden gelmek ve göç ile devam etmek mi?

Erişim push; read; haklar/meta/config üzerindeki Yöneticiler için gönderme hakları verilir. Hiçbir şey yardım etmedi.

Her mesaj için teşekkürler!

cevap

3

Refs/meta/config ref, yalnızca proje için yalnızca Gerrit'e özgü ayarlar (erişim denetimi ayarları dahil ancak bunlarla sınırlı değildir) içindir. Kaynağa ve hedefe bağlı olarak, geçiş yapmak için bir anlam ifade edebilir veya olmayabilir, ancak bunu, --mirror aracılığıyla yapamazsınız, çünkü bu, silme işleminin silinmesine ve yeniden oluşturulmasına eşdeğerdir ve Gerrit, refs/meta/config öğesinin silinmesini açıkça yasaklar.

Yapabilecekleriniz, tüm diğer refleri yansıtmak ve eğer elinizde tutmaya değer bir şey varsa, refs/meta/config şubesinin durumunu el ile kopyalamaktır.

+0

Özgün depoda refs/meta/config bulunmuyor ve bu nedenle 'git push' için --mirror seçeneği bunu Gerrit'ten de silmeyi deniyor. Peki, diğer tüm referansları nasıl yansıtırım, ancak refs/meta/config'u yoksayarım? – Fl0R1D3R

+0

'--mirror' seçeneğini kullanamazsınız. Refs/head/*: refs/heads/* refs/tags/*: refs/tags/* 'vb. Gibi öznitelikler aracılığıyla refs göndermeniz gerekir. –

+0

Aslında, sadece * sd: // ... refs/meta/config: refs/meta/config' komutunu yerel olarak daha önce getirdiyseniz '--mirror' kullanabilirsiniz. – sschuberth

İlgili konular