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

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)


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


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>"

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.


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


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 "

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


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

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.


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"

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)


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.


In der zweiten Zeile ist es svnnichtsyn
Diego Romero Rodriguez
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.