Subversion bir çalışma dizini yeniden adlandırmak için akıllı bir şekilde
Bir şekilde VCS (normal svn, git ve git-svn kullanıcı) tecrübeli olsa bu tuhaf SVN davranış başımı sarmak için görünmüyor olabilir.
Bir başka SVN benim çalışma kopyası bir dizini yeniden adlandırmak istiyorum 'temiz' Devlet - i.ne zaman e svn status
şey ve tüm diğer değişiklikler taahhüt edilmiş döner - öyle gibi svn doktor ne öneriyor ():
svn mv foo bar
svn commit
SVN yüksek sesle şikayet ediyor:
Adding bar
Adding bar/toto
Deleting foo
svn: Commit failed (details follow):
svn: Item '/test/foo' is out of date
İstediğiniz gibi:
svn update
Hangi verir:
C foo
At revision 46.
Summary of conflicts:
Tree conflicts: 1
Ağaç bir çatışma varüçüncü taraf ise herhangi bir değişiklik olmadı. Belli ki, bu ağaca çıkmak için tek yolu çatışma karmaşa jenerik (svn Kırmızı Kitap):
svn resolve --accept working -R .
svn commit
Uzaktan repo o zaman benim çalışma kopyası güncelleme üzerinde yeniden adlandırma oldukça kafayı görünüyor:
url=$(svn info | grep -e '^URL:' | sed 's/^URL: //') svn mv $url/foo $url/bar
svn update
Geliştirilmiş resmi bir şekilde atladığım bir klasörü yeniden adlandırmak için var mı? Kök özellikle şaşırtıcı ağaç ihtilafına arkasındaki neden nedir?
CEVAP
svn mv
benim için çalışıyor:
C:\svn\co>svn mv my_dir new_dir
A new_dir
D my_dir\New Text Document.txt
D my_dir
C:\svn\co>svn commit -m foo
Raderar my_dir
Lägger till new_dir
Arkiverade revision 2.
C:\svn\co>
Svn İsveç çıkış için özür dilerim.
Senin durumunda yanlış olan başka bir şey olmalı.
Düzenleme:
Olarak Lloeki tarafından yapılan yorum dikkat çekti
Davranışı yeniden oluşturmak için ayrıca bir dosya klasöründe bulunan update işlemek gerekir, ancak klasörü update kendisi.
dosya üzerinde yeni bir devir n oluşturur tamamlama repo, ama yerel meta değildir her zaman olduğu gibi (, svn görmek updated oturum açtıktan sonra herhangi bir commit) , böylece dir meta verileri rev n-1'dir. İzler bu svn nedeniyle taahhüt değildir güncelleme olmayacak meta diff ve gerçekten bir çatışma var çünkü dir: güncelleştirme meta verileri vs silin.
Bu davranış, "" çözüm "svn rename
komut vermeden önce. çalışma kopyası güncelleme" ve bekleniyor
Bir şekilde böyle büyük mükafat 4 düze...
Git bir depo, ne kadar düzgün bir dizi...
Subversion ile garip bir sorun - "...
çalışma alanı yeniden adlandırmak için...
Nasıl Gıt bir çalışma dizini içine boş...