Yerel düzenlemeleri geri almadan svn eklentisini geri alma


157

Yanlışlıkla koştum svn add *ve depoda olmaması gereken bir sürü dosya ekledim. Ayrıca saklamak istediğim bazı dosyalarda yerel düzenlemeler var. svn addYerel düzenlemeleri geri almadan yalnızca geri almanın basit bir yolu var mı ? Google'da gördüğüm ana öneri svn revert, söz konusu yerel düzenlemeleri geri alan sözde.

Yanıtlar:


282

Olurdu:

svn rm --keep-local

Aynı şey bana da oldu. :-P

Birçok kişi kullanmanız gerektiğini yorumladı:

svn rm --keep-local FILENAME

komutu, istenmeyen yan etkileri olabilecek her şey yerine bir veya daha fazla dosyaya uygulamak için.


1
Bunun benim için bir etkisi yoktu. Kodu taban klasöründen yukarıdaki gibi (sondaki süre dahil) çalıştırdım. Bir şey eksik olup olmadığımdan emin değilim.
zzz

8
Komuta dosya adı eklemeniz gerektiğini unutmayın svn rm --keep-local FILENAME. FILENAME(Bir düzen için şanslı yeterli ise) birden fazla dosya maç için * kullanabilir.
Adam Badura

4
uyarı! - svn externals kullanırken bu komutu kullanmak, bağlı tüm hariciları da kaldırır ...
kostja

2
Bunu taahhüt ederseniz, taahhüt söz konusu dosyanın repodan kaldırılmasını içermez mi?
jwg

1
//, jwg ile aynı sorum var. SVN kontrollü bir dosyada bazı düzenlemeler yaptım. Bu düzenlemeleri yerel olarak tutmak istiyorum. Ancak, ben do not tamamen deposundan dosyayı kaldırmak istiyorum. Yerel düzenlemelerimi dosyaya aktarmak istemiyorum.
Nathan Basanese

34

Bu dosyalar henüz işlenmemiş bir dizinin altındaysa, dizin içeriğinin tamamını bir sonraki işlemden kaldırarak şunları yapabilirsiniz:

svn delete --keep-local /path/to/directory

Ancak, bu dosyalar zaten depodaysa ve şimdi işlemek istemediğiniz değişiklikleri içeriyorsa, değişiklik listelerini kullanarak diğer dosyaları da uygulayabilirsiniz:

svn changelist somename /file/to/be/committed
svn commit --changelist somename

7

Ödemenizi aşağıdaki şekilde düzeltebilirsiniz:

  1. Yerel dosyalarınızı yedekleyin
  2. SVN çıkışını geri alma
  3. Dosyaları geri yükle

-

rsync -av --exclude .svn/ YOURDIR/ YOURDIR.bak
svn revert -R YOURDIR
rsync -av YOURDIR.bak/ YOURDIR 

YOURDIR/YOURDIR/Sorunun ilk yedekleme komutunun oluşturulmasında olduğunu düşünmeme rağmen , son komut her zaman ekstra bir dizin düzeyi oluşturur, yani biten YOURDIR.bak/YOURDIR/.
James

Bunu önlemek için rsync, kaynak dizinde bir eğik çizgi gerektirir. Cevabı düzenledim.
Brice M. Dempsey

3

Ben de aynı sorunu vardı, ben yanlışlıkla svn addikili dosyaları ve derlenmiş dosyayı içeren bir / dizin ekleyin . Bu komut aslında dizini siler.

svn rm --force <directory-name>

Benim durumumda silmek gerekmez böylece dizin gerekmez. Dosyaları / dizinleri saklamak istiyorsanız, komutu uygulamadan önce ve sonra kopyaladıktan sonra bir yere kaydedin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.