Wenn ich a mache svn status .
, bekomme ich folgendes:
! C auto-complete-config.elc
> local edit, incoming delete upon update
! + C auto-complete.elc
> local edit, incoming delete upon update
! + C popup.elc
> local edit, incoming delete upon update
! + C fuzzy.elc
> local edit, incoming delete upon update
Grundsätzlich sollten sich diese Dateien nicht im Repository befinden. Ein Entwickler hat sie entfernt. Dann denke ich, ich habe versehentlich nachträglich eine svn rm ...
gemacht (hätte es svn update .
stattdessen tun sollen ).
Wenn ich das tue svn status .
, erhalte ich diese Baumkonfliktnachrichten.
Ich habe das Dokument hier gefunden, bin mir aber nicht sicher, wie ich es gemäß dem Dokument „zusammenführen“ soll.
Wie kann man sie loswerden?
Ich denke, meine Arbeitskopie ist mit dem Repository synchronisiert. Ich weiß nicht, warum diese Meldungen angezeigt werden. Diese Dateien sollten entfernt werden und werden, soweit ich weiß, überall entfernt. Ich habe es versucht svn update .
und svn revert .
aber ich bekomme immer noch diese Nachricht, wenn ich es tue svn status .
.
"local missing or deleted or moved away, incoming dir edit upon merge"
Antworten:
Kurzfassung:
Wenn es sich bei dem Konflikt um Verzeichnisse anstelle von Dateien handelt, ersetzen Sie diese
touch
durchmkdir
undrm
mitrm -r
.Hinweis: Das gleiche Verfahren funktioniert auch in der folgenden Situation:
Lange Version:
Dies geschieht, wenn Sie eine Datei bearbeiten, während eine andere Person die Datei gelöscht und zuerst festgeschrieben hat. Als guter SVN-Bürger führen Sie vor einem Commit ein Update durch. Jetzt hast du einen Konflikt. Wenn Sie erkennen, dass das Löschen der Datei das Richtige ist, löschen Sie die Datei aus Ihrer Arbeitskopie. Anstatt zufrieden zu sein, beschwert sich svn jetzt darüber, dass die lokalen Dateien fehlen und dass es ein widersprüchliches Update gibt, bei dem letztendlich die Dateien gelöscht werden sollen. Gute Arbeit svn.
Sollte
svn resolve
aus irgendeinem Grund nicht funktionieren, können Sie Folgendes tun:Ausgangssituation: Lokale Dateien fehlen, Update ist widersprüchlich.
Erstellen Sie die widersprüchlichen Dateien neu:
Wenn es sich bei dem Konflikt um Verzeichnisse handelt, ersetzen Sie diese
touch
durchmkdir
.Neue Situation: Lokale Dateien, die dem Repository hinzugefügt werden sollen (ja richtig, svn, was auch immer Sie sagen), Aktualisierung immer noch widersprüchlich.
Setzen Sie die Dateien auf den Status zurück, den svn mag (dh gelöscht):
Neue Situation: Lokale Dateien, die svn nicht bekannt sind, Aktualisierung nicht mehr widersprüchlich.
Jetzt können wir die Dateien löschen:
Wenn es sich bei dem Konflikt um Verzeichnisse handelt, ersetzen Sie diese
rm
durchrm -r
.svn beschwert sich nicht mehr:
Getan.
quelle
svn st | grep ! | cut -f 7 -d' ' | xargs touch
als einen Liner zum Berühren aller fehlenden Dateien verwendenrm -r foo bar
(oderrmdir foo bar
unter Windows oder wenn Sie Windows mögen).Versuchen Sie, den Konflikt mit zu lösen
quelle
Ich habe gerade das gleiche Problem bekommen und das gefunden
Problem gelöst.
svn Entschlossenheit hat bei mir nicht funktioniert:
quelle
Wenn Sie im Konfliktverzeichnis keine Änderungen vorgenommen haben, können Sie dies auch
rm -rf conflicts_in_here/
und dann tunsvn up
. Das hat zumindest bei mir funktioniert.quelle
Sie können erzwingen, dass Ihr lokales Verzeichnis auf svn zurückgesetzt wird.
quelle
A + C path/to/dir
und> local dir edit, incoming dir delete or move upon update
Sie können die gelöschte Datei einfach zurücksetzen, aber denken Sie daran: Wenn Sie an einem Projekttyp mit einer festgelegten Projektdatei (wie iOS) arbeiten, wird diese durch Zurücksetzen der Datei Ihrer Systemordnerstruktur hinzugefügt, nicht jedoch Ihrer Projektdateistruktur. In diesem Fall sind möglicherweise zusätzliche Schritte erforderlich
quelle
Dieses Problem tritt häufig auf, wenn wir versuchen , fusionieren eine andere Branche ändert sich von einem falschen Verzeichnis.
Ex:
Ein Konflikt, der bei seiner Ausführung ausgelöst wird, ist:
Wenn Sie q auswählen, um die Auflösung zu beenden , erhalten Sie den Status:
Dies bedeutet eindeutig, dass die Zusammenführung Änderungen in Bezug auf
Branch1_SubDir
und enthältBranch1_AnotherSubDir
und diese Ordner nicht gefunden werden konntenBranch1_SubDir
(offensichtlich kann sich ein Verzeichnis nicht in sich selbst befinden).So vermeiden Sie dieses Problem an erster Stelle:
Die einfachste Lösung für dieses Problem, die bei mir funktioniert hat:
quelle