2008-11-23 15 views
59

SVN'ye varolan bir siteyi ekliyorum.Geçerli dosyaların üzerine yazmak için SVN çıkış komutunu zorla

Dosya zaten web sunucusunda var ve şimdi depoda aynı kopyalar (- yapılandırma dosyaları) var.

ben bir SVN çalışma kopyası haline web sunucusu dizin dönüştürmek istiyorum ama çalıştırdığınızda:

svn: Failed to add file '': object of the same name already exists

nasıl sadece bu üzerine yazmak SVN söyleyeceğiz:

svn checkout http://path.to/svn/repo/httpdocs . 

hatası alıyorum içeriği aynı olan dosyalar?

+0

başlığı yanıltıcı, kontrol et komutu olmalı, güncelleme komutu yok – hasen

cevap

50

--force seçeneğini deneyin. svn help checkout, ayrıntıları verir.

+0

SVN (1.3.1) sürümümde --force seçeneği yok gibi görünüyor. Bu ne zaman eklendi? –

+0

1.4, sanırım, eminim ki sürüm notlarını kontrol etmekte iyi olursun ... Yapman gereken sebep var mı? SVN projesi, geriye dönük uyumluluk açısından çok iyi bir şekilde yürütüldüğünden, yükseltmelerden korkmak için çok az sebep vardır. –

+0

Evet - barındırılan sunucu Ubuntu 6.0.6 çalışıyor; hangi standart yükleme olarak svn 1.3 var. Teşekkürler –

3

Depodan yeni bir dizine çekin, sonra eski olanı old_crufty'a ve yenisini my_real_webserver_directory olarak değiştirin ve devam etmekte fayda var.

Niyetiniz, her bir dosyanın SVN'de olması durumunda, bu sizin teorinizi test etmenin iyi bir yoludur. Niyetiniz bazı dosyaların SVN'de değilse, Brian'ın copy/paste tekniğini kullanın.

8

Bu kolayca kolayca yapılabilir. Tüm yaptığım, sürüm kontrolü altında olmayan mevcut dizini geçici bir dizine taşımaktı. Sonra SVN sürümünü doğru dizin ismimden kontrol ettim, dosyaları geçici dizinden SVN dizinine kopyaladım ve SVN dizinindeki dosyaları geri aldım. Umarım bu yardımcı olur ve neden sadece basit bir SVN güncelleme dosyalarını geri değişmedi emin değilim

/usr/local/www 

mv www temp_www 
svn co http://www.yourrepo.com/therepo www 
cp -pR ./temp_www/* ./www 
svn revert -R ./www/* 
svn update 

: mantıklı değilse aşağıda bir örnek var mı?

57

svn checkout --force svn://repo website.dir

sonra

svn revert -R website.dir

website.dir mevcut dosyaların üzerine göz atmak isteyebilir ama bunların üzerine olmaz. Sonra geri dönüş onların üzerine yazacaktır. Bu şekilde, siteyi tamamlamak için siteye girmeniz gerekmez.

+4

+1 Bu daha iyi bir cevap. – dwjohnston

+0

Çok daha iyi bir cevap. --force benim için çalışmadı. –

4

Bilgisayarımın denetiminde değilim, çünkü 1.5 kullanabiliyordum. Bana bir sorun neden olan dosya lib dizinde bir .jar dosyası oldu. İşte ben sorunu çözmek için ne yaptım: Bu Ned'in cevabı üzerine inşa edilmiştir. Diğer bir deyişle, tüm depodan ziyade bana sorun oluşturan alt dizini kaldırdım.

İlgili konular