Soru Yerel olarak silinmiş bir klasör nasıl geri yüklenir?


Yerel olarak svn güncellemesinden sonra bir dosyayı 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ı?

DÜZENLE: Konsol çıkışı şöyle görünüyor:

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: Svn'yi iki yıldan beri kullandım ve daha önce hiç bu kadar hata yapmadım. 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 Ben 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.


23
2017-10-14 13:59


Menşei


Git'i kullanarak denediniz mi? - набиячлэвэли


Cevaplar:


Bugün bu problemi svn 1.5.6 ile karşılaştım. svn up --force the_dir_path Benim için tamir ettim.

Yeniden oluşturmak için:

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

67
2018-03-03 21:03



'Dir' kelimesini tam olarak yazmam için (benim gibi) herkes, geri almak istediğiniz gerçek dizinin yerine geçmelidir. - Peter Smit
Bunu benim için çözen tek cevap bu. Geriye dön, tekrarlayan geri dönüş vb. İşe yaramadı. Teşekkürler! - Laurent
beni kurtardığın için teşekkürler :) - Stevko
Çok iyi. Bu doğru cevap. Bana yardımcı oldu. - J. Bruni
NetBeans eklentisini kullanarak bir dir'i silmek ve daha sonra depoyu güncelleştirmek benim için işe yaramadı, çünkü NetBeans'in içerdiği ".svn" içerikli dizini gerçekten kaldırmaz. Yani, terminal aracılığıyla bunu yapmak önemliydi. İyi çalıştı, teşekkürler. - Richard Kiefer


Muhtemelen svn revert komutunu kullanarak öğeleri silmeyi ve daha sonra bunları geri yüklemek için güncellemek yerine kullanmak istersiniz. Dosyaları / dizinleri art arda geri almak için -R anahtarını kullanın.

geri dönüş için svn yardım bilgileri aşağıdaki gibidir

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

14
2017-10-14 14:01



Bir svn güncellemesinin ardından bir klasörün silinmesi, bu klasörün içindeki önemsiz / geçici dosyaların temizlenmesinin kullanışlı bir yoludur. - StackedCrooked
Ve eğer klasör bozulursa, onu silmeye çalışmaktan daha basit bir şekilde silmek ve geri yüklemek genellikle daha hızlıdır. - StackedCrooked
Geri alma, silinmiş klasörleri yeniden oluşturmuyor - Damien
@PeterAjtai Evet, cevapta alıntılanan el kitabında açıkça belirtmektedir "Ancak, kaldırılan dizinleri geri yüklemez"! Bu cevabın faydalı olduğunu düşünmüyorum. - Richard Corfield
Bu, "yerel olarak silinmiş bir klasörü nasıl geri yüklerim?" Sorusunu yanıtlamaz. ve doğru cevap olarak işaretlenmemelidir. @Bryan Drewery, aşağıdaki doğru cevapla yanıtladı. - Brendan Maguire


kullanım svn revert (-R) foldername onu geri getirmek için. kullanarak sildin svn rm ve svn up sizin için yeniden oluşturmayacak, çünkü hala silinmiş olarak işaretlenmiş


5
2017-10-14 14:34



O yapmadı svn rm ama sadece rm. Ayrıca bu problemi yaşadım ve geri alma işlemi düzeltmedi. Bir tek update --force yaptı. - Laurent
@Laurent, teşekkürler (eğer hala buradaysanız), eğer bir cevap olarak buna sahip olsaydınız, bunu oylardım. - 244an


Yanlışlıkla silinmiş klasör komutunu kullanıyorum

SVN GÜNCELLEME

üst klasörde


3
2017-08-25 07:29





svn status|grep ^D|^Ct -c9-|xargs -n1 svn revert

0
2017-12-17 10:58