2009-10-14 18 views
22

Svn güncellemesinden sonra bir dosyayı yerel olarak silmek, o dosyanın yerel kopyasını geri yükler. Ancak bu, klasörlere uygulanmaz. Klasörler için çalışmasını sağlamak için herhangi bir yolu var mı?Yerel olarak silinmiş bir klasör nasıl geri yüklenir?

DÜZENLEME: Bu konsol çıkış neye benzediği:

C:\svn\Google Project Hosting\xulwin\xulrunnersamples>rmdir /S /Q treeview 

C:\svn\Google Project Hosting\xulwin\xulrunnersamples>svn up 
D treeview 
Updated to revision 50. 

EDIT2: Şimdi iki yıldır svn kullanmış ve daha önce bu hatayı yoktu. Ama ben herhangi bir ayar değiştirmedim. Düşünebildiğim tek şey, bazı sabit olmayan eski şeyleri yedeklemek için bugün harici sabit diskimde Kaplumbağa SVN ile Yerel Depo oluşturduğum oldu. Ancak bu sorunun nedeni olmamalı çünkü davranış, hem yerel kopyadaki yerel depoda hem de kodum Google Project Hosting'den geliyor.

EDIT3: WTF Aniden artık hatayı yeniden üretemiyorum. Her şey olması gerektiği gibi çalışıyor. Ama ben hiçbir şeyi değiştirmedim.

EDIT4: EDIT1'de dosya silinmiş olarak işaretlenmiş gibi görünüyor, ancak svn commit komutunun hiçbir şey yapmadığından bu yana değil. Tortoise, değişikliklerin herhangi bir şey olmadığını kontrol etmedi.

Not: Sorun devam ettiğinde, tamamen yinelemeli bir güncelleştirme klasörü geri yükledi.

+0

Eğer budala kullanarak denediniz mi? –

cevap

65

Bu soruna bugün svn 1.5.6 ile girdim. svn up --force the_dir_path benim için düzeltildi.

yeniden oluşturmak için:

yanlışlıkla silinen klasör komutu

SVN GÜNCELLEME üst klasörü

için kullanmak

$ svn up 
Updated to revision X. 
$ rm -rf the_dir_path 
$ svn up 
D the_dir_path 
Updated to revision X. 
$ svn up 
Updated to revision X. 
$ svn up --force the_dir_path 
A .... 
A .... 
Updated to revision X. 
+0

"Dir" kelimesini tam anlamıyla (benim gibi) yazmaya çalışan herkes için geri almak istediğiniz asıl dizinin yerine geçmelidir –

+7

Bu, benim için çözdüğümüz tek cevap. Geriye dön, tekrarlayan geri dönüş vb. Işe yaramadı. Teşekkürler! – Laurent

+0

Beni kurtardığın için teşekkürler :) – Stevko

14

Muhtemelen svn revert komutunu kullanarak öğeleri silme işlemine devam etmek ve daha sonra bunları geri yüklemek için güncelleme yapmak istersiniz. Dosyaları/dizinleri art arda geri almak için -R anahtarını kullanın. geri getirmek için

revert: Restore pristine working copy file (undo most local edits). 
usage: revert PATH... 

    Note: this subcommand does not require network access, and resolves 
    any conflicted states. However, it does not restore removed directories. 

Valid options: 
    --targets ARG   : pass contents of file ARG as additional args 
    -R [--recursive]   : descend recursively, same as --depth=infinity 
    --depth ARG    : limit operation by depth ARG ('empty', 'files', 
          'immediates', or 'infinity') 
    -q [--quiet]    : print nothing, or only summary information 
    --changelist ARG   : operate only on members of changelist ARG 
          [aliases: --cl] 

Global options: 
    --username ARG   : specify a username ARG 
    --password ARG   : specify a password ARG 
    --no-auth-cache   : do not cache authentication tokens 
    --non-interactive  : do no interactive prompting 
    --trust-server-cert  : accept unknown SSL server certificates without 
          prompting (but only with '--non-interactive') 
    --config-dir ARG   : read user configuration files from directory ARG 
    --config-option ARG  : set user configuration option in the format: 
           FILE:SECTION:OPTION=[VALUE] 
          For example: 
           servers:global:http-library=serf 
+2

Bir svn güncellemesinden sonra bir klasörü silmek, bu klasör içindeki önemsiz/geçici dosyaları temizlemenin kullanışlı bir yoludur. – StackedCrooked

+0

Ve klasör bozulursa, onu onarmak için çalışmaktan daha basit bir şekilde silmek ve geri yüklemek genellikle daha hızlıdır. – StackedCrooked

+7

Revert, silinmiş klasörleri yeniden oluşturmuyor – Damien

5

kullanımını svn revert (-R) foldername aşağıdaki gibi, geri almadan için

svn help info. svn rm ve svn up kullanarak sildiğiniz için, sizin için yeniden oluşturmayacaktır, çünkü hala silinmiş olarak işaretlenmiş

+0

O svn rm' değil, sadece' rm' yapmadı.Ayrıca bu problemi yaşadım ve geri alma işlemi düzeltmedi. Sadece 'update --for' yaptı. – Laurent

+0

@Laurent, teşekkürler (eğer hala buradaysanız), eğer bir cevaba sahip olsaydınız bunu oylardım. – 244an

3

0
svn status|grep ^D|^Ct -c9-|xargs -n1 svn revert 
İlgili konular