SVN hala çatışmada mı?


284

Bu dizini çakışmadan nasıl alabilirim? "Onların" veya "benim" kullanarak herhangi bir çözüm olup olmadığını umurumda değil ya ...

PS C:\Users\Mark\Desktop\myproject> svn ci -m "gr"
svn: Commit failed (details follow):
svn: Aborting commit: 'C:\Users\Mark\Desktop\myproject\addons' remains in conflict

PS C:\Users\Mark\Desktop\myproject> svn resolve --accept working C:\Users\Mark\Desktop\myproject\addons
Resolved conflicted state of 'C:\Users\Mark\Desktop\myproject\addons'

PS C:\Users\Mark\Desktop\myproject> svn ci -m "grr"
svn: Commit failed (details follow):
svn: Commit item 'addons' has copy flag but an invalid revision

PS C:\Users\Mark\Desktop\myproject> svn update
   C addons
svn: Can't move 'addons\debug_toolbar\templates\debug_toolbar\.svn\tmp\entries' to 'addons\debug_toolbar\templates\debug
_toolbar\.svn\entries': The file or directory is corrupted and unreadable.

PS C:\Users\Mark\Desktop\myproject> svn cleanup

PS C:\Users\Mark\Desktop\myproject> svn update
Skipped 'addons'
At revision 51.
Summary of conflicts:
  Skipped paths: 1

PS C:\Users\Mark\Desktop\myproject> svn ci -m "grrr"
svn: Commit failed (details follow):
svn: Aborting commit: 'C:\Users\Mark\Desktop\myproject\addons' remains in conflict

93
cevap: [svn çözülmüş dosya adı] bunu kabul edilen çözümden ziyade yapın.
Travis Schneeberger

1
@TravisSchneeberger kabul edilen çözüm gayet iyi 😉
Hi-Angel

svn resolved * dosyaadı * benim için düzeltmiyor.
reinierpost

Yanıtlar:


447

Aşağıdaki komutu verin:

svn resolved <filename or directory that gives trouble>

(Bir yorumdaki bu cevap için @Jeremy Leipzig'e teşekkürler)


35
Cidden, nasıl çözüldüğünü umursamıyorsanız (belki de yine de sileceksiniz) bu doğru cevaptır.
invertedSpear

1
Bu hiçbir şeyi çözmez. Hata muhtemelen bir sonraki işlemde tekrar ortaya çıkacaktır.
Tadej

Çok teşekkürler, benim için çalışıyor! Svn root repo'nuzda, bu komutu kullanabilirsiniz!
GeekHades

276

Tamam nasıl düzeltebilirim:

svn remove --force filename
svn resolve --accept=working  filename
svn commit

daha fazla bilgi için: http://svnbook.red-bean.com/en/1.8/svn.tour.treeconflicts.html


Eclipse IDE ile çalışıyorsanız, aşağıda ayrı bir cevapta açıkladığım "komut satırı olmayan" çözümümü de uygulayabilirsiniz.
Peter Wippermann

3
svn 1.7.4 kullanarak, svn yardımcı çözüm "bu" svn çözüm - çalışma kabul "çalıştırmak lehine kaldırıldı bildirildi.
wreckgar23

35

Benim için sadece geri dönüş --depth infinity seçeneği sabit Svn dizini confict sorun devam ediyor:

svn revert --depth infinity "<directory name>"
svn update "<directory name>"

1
dosya veya bir dosya dizini artık geri almak için artık mevcut değil
biology.info

Sunucuda bulunan yerel olarak silinen dosyaların çakışmasını gidermek için bu seçenek işe yaradı ..
Neo

1
Çok teşekkürler. "svn revert --depth infinity." benim için çalıştı ve silinen dosyaları geri yükledi, sadece "svn up" ile tekrar
görünmedi

16
  1. svn çözümü
  2. svn temizleme
  3. svn güncellemesi

Bu dizideki bu üç svn CLI komutu doğru dizine cd-ed yaparken benim için çalıştı.


@Elad Tabak: Benim durumumda bana sorun veren dosyanın üst dizinine yapmak zorunda kaldım, bu seninle karşılaştığın şey olabilir
Jay Sullivan

11

Eclipse IDE kullanıyorsanız ve işlem yaparken bu hatayı alırsanız, işte size bir araç içi çözüm. Subclipse kullanıyorum, ancak Subversive için çözüm benzer olabilir.

Belki fark etmediğiniz şey, çakışan dosyada dosyayı gerçekten "çakışmış" olarak işaretleyen ek bir sembol olmasıdır.

Dosyayı sağ tıklayın, "Takım" ve "Çakışmaları düzenle ..." yi seçin. Uygun işlemi seçin. Dosyayı daha önce metin düzeyinde manuel olarak birleştirdim, bu nedenle yerel kopyanızın geçerli durumunu "çözülmüş çözüm" olarak alacak olan ilk seçeneği aldım. Şimdi "Tamam" a basın ve hepsi bu.

Çelişen sembol ortadan kalkmış olmalı ve tekrar iş yapabilmelisiniz.


2
Ayrıca, dizin çakışması durumunda, "Takım-> Ağaç Çatışmalarını Göster" i yapabilir ve ardından tüm bu çakışmaları gözden geçirebilir ve Çözülmüş olarak işaretleyebilirsiniz (ayrı bir "SVN Ağaç Çatışmaları" penceresinde)
altumano

6

Aşağıda bir çözüm daha,

Klasörün tamamı kaldırılırsa ve SVN "admin dosyası .svn eksik" hatasını atarsa, çakışmayı çalışma durumuna çözmek için aşağıdakiler kullanılır.

svn resolve --accept working "file / directory name "

3

Tortoise SVN için talimatlar

Bu hatayı gördüğünüz dizine gidin. Herhangi bir değişikliğiniz yoksa aşağıdakileri yapın

a. Sağ tıklayın ve bir 'Geri Dön' yapın
b. Tüm dosyaları seçin
c. Ardından dizini tekrar güncelleyin


3

Komut satırını kullanarak çakışmayı kaldırmak için aşağıdaki komutu kullanıyorum

svn revert "location of conflict folder" -R
svn cleanup
svn update

geçerli dizini geri almak için

svn revert . -R

Hahahaha, hayır bunu yapma. Kötü şeyler yapacak.
Baykuş

Açıkçası değişikliklerinizi geri alır
Ujjwal Roy

aslında çatışma gibi bazı sorunlar için çalışır ve sadece aracılığı cli çözebilecek
Zero8

2

Çözme konusunda sorun yaşıyorsanız (benim gibi) ve kaynaklarda çok fazla değişiklik yaptığınız için kaynakları silemiyor ve güncelleyemiyorsanız, ayrıca yerel istemci yerine tutulma subversive kullanıyorsanız şu adımları izleyin:

  1. tüm proje direktifinizin bir kopyasını oluşturun
  2. ekip gerçekleştir> tutulma içinde bağlantıyı kes ve svn meta verilerini silmeyi seç
  3. ardından ekip> projeyi paylaş'ı seçin ve projenizin bulunduğu klasöre gidin
  4. evet'i seçin ve her şeyi uygulayın (yapılandırma dosyaları gibi bazı yerel kaynakları hariç tutmak isteyebilirsiniz)
  5. ilk taahhüt denemenizden önce bazı kaynakları sildiyseniz veya taşıdıysanız, bu eski kaynakları silin (iki katına çıkmış, biri eski konumda, biri yenide) ve bu silme işlemlerini gerçekleştirin.

Sen bittin.


2

Sanırım doğru çözüm:

(1) backup your-file/your-directory
(2) svn revert your-file/your-directory
(3) svn update your-file/your-directory
(4) Merge the backup your-file/your-directory to the updated one.
(5) svn ci -m "My work here is done"

0

Benzer bir sorunum vardı, işte böyle çözüldü

xyz @ ip: ~ / formlarıProje_SVN $ svn çözüldü formlarProj / şablonlar / arama

"FormProj / templates / arama" nın çakışan durumu çözüldü

Şimdi projenizi güncelleyin

xyz @ ip: ~ / formProject_SVN $ svn güncellemesi

'.' Güncelleniyor:

Seçin: (mc) etkilenen yerel hareketleri koru, (r) işareti çözüldü (hamleleri keser), (p) ertele, (q) çözünürlüğü bırak, (h) yardım: r (çözmek için "r" seçeneğini seçin)

"FormProj / templates / arama" nın çakışan durumu çözüldü

Çatışmaların özeti: Ağaç çakışmaları: 0 kaldı (ve 1 tanesi zaten çözüldü)


0

Linux'ta da aynı sorunu yaşadım, ancak kabul edilen cevapla çözemedim. cdDoğru klasöre gitmek ve sonra yürütmek kullanarak kullanarak çözmek mümkün :

svn remove --force filename  
syn resolve --accept=working filename  
svn up

Bu kadar.


İkinci sırada, öyle svndeğilsyn
Diego Romero Rodriguez
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.