SVN bleibt im Konflikt?

284

Wie kann ich dieses Verzeichnis aus Konflikten herausholen? Es ist mir egal, ob es mit "ihnen" oder "meinen" oder was auch immer gelöst wird ...

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
mpen
quelle
93
Die Antwort lautet: [svn aufgelöster Dateiname] Tun Sie dies und nicht die akzeptierte Lösung.
Travis Schneeberger
1
@TravisSchneeberger die akzeptierte Lösung ist in Ordnung 😉
Hi-Angel
svn resolved * Dateiname * behebt es nicht für mich.
Reinierpost

Antworten:

447

Geben Sie den folgenden Befehl ein:

svn resolved <filename or directory that gives trouble>

(Danke an @Jeremy Leipzig für diese Antwort in einem Kommentar)

Roalt
quelle
35
Im Ernst, wenn es Ihnen egal ist, wie es gelöst wird (vielleicht löschen Sie es trotzdem), ist dies die richtige Antwort.
invertedSpear
1
Das löst nichts. Der Fehler wird wahrscheinlich beim nächsten Commit erneut auftreten.
Tadej
Vielen Dank, es funktioniert bei mir! Sie müssen in Ihrem SVN-Root-Repo diesen Befehl verwenden!
GeekHades
276

Ok, hier erfahren Sie, wie Sie das Problem beheben können:

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

Weitere Informationen finden Sie unter: http://svnbook.red-bean.com/de/1.8/svn.tour.treeconflicts.html

Darrell Duane
quelle
Wenn Sie mit der Eclipse-IDE arbeiten, können Sie auch meine "Nicht-Befehlszeilen" -Lösung anwenden, die ich in einer separaten Antwort unten beschrieben habe.
Peter Wippermann
3
Mit svn 1.7.4 hat die svn-Hilfe behoben, dass sie "zugunsten der Ausführung von 'svn resolve --accept working' veraltet ist".
Wrackgar23
35

Für mich nur rückgängig machen --depth unendlich Option behoben Svn Verzeichnis bleibt in Konflikt Problem:

svn revert --depth infinity "<directory name>"
svn update "<directory name>"
neunundfünfzig
quelle
1
Ein ganzes Verzeichnis von Dateien zurückzusetzen oder eine Datei existiert nicht mehr
Biology.info
Um den Konflikt lokal gelöschter Dateien auf dem Server zu lösen, funktionierte diese Option.
Neo
1
Vielen Dank. "svn revert --depth unendlich." arbeitete für mich und stellte gelöschte Dateien wieder her, die nicht nur mit "svn up" wieder auftauchten
Rauli Rajande
16
  1. SVN lösen
  2. SVN-Bereinigung
  3. SVN-Update

..diese drei svn CLI-Befehle in dieser Reihenfolge, während cd-ed in das richtige Verzeichnis für mich funktioniert.

PiggyMacPigPig
quelle
@Elad Tabak: In meinem Fall musste ich es mit dem übergeordneten Verzeichnis der Datei tun, was mir Probleme bereitete. Dies könnte das sein, worauf Sie gestoßen sind
Jay Sullivan
11

Wenn Sie die Eclipse-IDE verwenden und beim Festschreiben auf diesen Fehler stoßen, finden Sie hier eine In-Tool-Lösung für Sie. Ich verwende Subclipse, aber die Lösung für Subversive könnte ähnlich sein.

Was Sie vielleicht nicht bemerkt haben, ist, dass die widersprüchliche Datei ein zusätzliches Symbol enthält, das die Datei tatsächlich als "konfliktreich" kennzeichnet.

Klicken Sie mit der rechten Maustaste auf die Datei, wählen Sie "Team" und "Konflikte bearbeiten ...". Wählen Sie die entsprechende Aktion. Ich habe die Datei zuvor manuell auf Textebene zusammengeführt und daher die erste Option gewählt, bei der der aktuelle Status Ihrer lokalen Kopie als "gelöste Lösung" verwendet wird. Drücken Sie jetzt "OK" und das wars.

Das widersprüchliche Symbol sollte verschwunden sein und Sie sollten erneut festschreiben können.

Peter Wippermann
quelle
2
Im Falle eines Verzeichniskonflikts können Sie auch "Team->
Baumkonflikte anzeigen
6

Eine weitere Lösung unten,

Wenn der gesamte Ordner entfernt wird und SVN den Fehler "Admin-Datei .svn fehlt" auslöst, wird der Konflikt mithilfe des folgenden Status in den Betriebszustand versetzt.

svn resolve --accept working "file / directory name "
Bala Varadarajan
quelle
3

Anleitung für Tortoise SVN

Navigieren Sie zu dem Verzeichnis, in dem dieser Fehler angezeigt wird. Wenn Sie keine Änderungen vorgenommen haben, führen Sie die folgenden Schritte aus

ein. Klicken Sie mit der rechten Maustaste und führen Sie ein "Zurücksetzen" durch.
B. Alle Dateien auswählen
c. Aktualisieren Sie dann das Verzeichnis erneut

PipoTells
quelle
3

Ich benutze den folgenden Befehl, um Konflikte über die Kommandozeile zu entfernen

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

zum Zurücksetzen des aktuellen Verzeichnisses

svn revert . -R
Ujjwal Roy
quelle
Hahahaha, nein, tu das nicht. Es wird schlechte Dinge tun.
Eule
Es würde offensichtlich Ihre Änderungen
zurücksetzen
es funktioniert tatsächlich für einige Probleme wie Konflikte und konnte nur über cli
zero8
2

Wenn Sie Probleme beim Auflösen haben (wie ich) und die Ressourcen nicht löschen und aktualisieren können, weil Sie viele Änderungen daran vorgenommen haben und Eclipse subversive anstelle des nativen Clients verwenden, gehen Sie folgendermaßen vor:

  1. Erstellen Sie eine Kopie Ihres gesamten Projektverzeichnisses
  2. Führen Sie Team> Trennen innerhalb von Eclipse durch und löschen Sie die SVN-Metadaten
  3. Wählen Sie dann Team> Projekt freigeben und zeigen Sie auf denselben Ordner, in dem sich Ihr Projekt befindet
  4. Wählen Sie "Ja" und legen Sie alles fest (möglicherweise möchten Sie einige sehr lokale Ressourcen wie Konfigurationsdateien ausschließen).
  5. Wenn Sie vor Ihrem ersten Festschreibungsversuch einige Ressourcen gelöscht oder verschoben haben, löschen Sie diese alten Ressourcen (sie sollten sich verdoppelt haben, eine am alten Speicherort, eine am neuen) und diese Löschvorgänge festschreiben.

Du bist fertig.

bekce
quelle
2

Ich denke, die richtige Lösung ist:

(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"
Frank-Rene Schäfer
quelle
0

Ich hatte ein ähnliches Problem, so wurde es gelöst

xyz @ ip: ~ / formsProject_SVN $ svn behoben formsProj / templates / Suche

Konfliktstatus von 'formsProj / templates / search' behoben

Aktualisieren Sie jetzt Ihr Projekt

xyz @ ip: ~ / formsProject_SVN $ svn update

'.' Aktualisieren:

Wählen Sie: (mc) betroffene lokale Bewegungen beibehalten, (r) Markierung aufgelöst (Unterbrechungsbewegungen), (p) verschieben, (q) Auflösung beenden, (h) Hilfe: r (Option "r" zum auswählen)

Konfliktstatus von 'formsProj / templates / search' behoben

Zusammenfassung der Konflikte: Baumkonflikte: 0 verbleibende (und 1 bereits gelöste)

Raghu
quelle
0

Ich hatte das gleiche Problem unter Linux, konnte es aber nicht mit der akzeptierten Antwort beheben. Ich konnte es lösen, indem cdich zum richtigen Ordner ging und dann Folgendes ausführte:

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

Das ist alles.

Aisuko
quelle
In der zweiten Zeile ist es svnnichtsyn
Diego Romero Rodriguez