Irgendwann wurden alle Dateien in meiner Arbeitskopie mit dem Symbol "S" markiert, wie unten gezeigt:
$ svn st
M S AclController.php
S InstallationController.php
S CustomerController.php
S RedirController.php
S IndexController.php
S LoginController.php
S OrderController.php
S ProductController.php
S SelfInstallController.php
S SelfcareController.php
Interessanterweise tritt es nur in dieser bestimmten Arbeitskopie auf - wenn ich das Projekt in ein neues Verzeichnis auschecke, werden die "S" -Markierungen nicht angezeigt.
Wie kann man diese nervigen "S" -Symbole loswerden? Dies verringert die Klarheit des WC-Status erheblich.
Update: Ich wechsle von Zeit zu Zeit mit Standard- svn switch
Syntax. Dieses "S" -Symbol wurde bis vor kurzem nie angezeigt. Der zum Umschalten verwendete Befehl lautete:
svn switch svn+ssh://xxxxxx/subversion/xxxxxxx/releases/1.0.16 .
Kann ich das "S" -Flag auf irgendeine Weise löschen?
svn
switch-statement
status
Michał Rudnicki
quelle
quelle
svn h st
. Was das aber bedeutet ...Antworten:
Dies bedeutet, dass sich die Dateien von einem anderen Speicherort in Ihrem Subversion-Repository befinden als das Verzeichnis, in dem sie enthalten sind. Die Lösung besteht darin, die gesamte Arbeitskopie an denselben Speicherort zu verschieben. Weitere Informationen zum Aufrufen des Befehls finden Sie in den beiden Abschnitten des Subversion-Buches.
quelle
Wenn Sie 'svn info' im Verzeichnis selbst und in (einer) der darin enthaltenen Dateien aufrufen, erhalten Sie zwei verschiedene URLs.
Sie erhalten den Status 'S', wenn die URL einer Datei / eines Verzeichnisses nicht mit der URL des übergeordneten Elements übereinstimmt, gefolgt vom Namen der Datei.
Können Sie die URL des übergeordneten und eines der untergeordneten Knoten veröffentlichen? (gegebenenfalls Anonymisierung der URL)
quelle
Ich hatte den Status ' S ', als ich von Trunk (r100) zu einem Zweig (r50) wechselte. Ich habe den Fehler bekommen:
Alle Unterverzeichnisse des Webs waren mit ' S ' gekennzeichnet.
Die Ursache: Ich hatte .htaccess to svn: ignore it (r100) gelöscht und dann erneut erstellt (nicht versioniert und ignoriert). Die Filiale (r50) hatte noch Web / .htaccess im Repo.
Die Lösung :
Alles ist gut.
quelle
Ich hatte dieses Problem mit einem Verzeichnis, das ich erfolgreich für SVN festgeschrieben habe. Die Lösung für mich war, es lokal zu löschen und dann zu aktualisieren. Ich konnte keine Unterschiede feststellen, aber die .svn-Datei wurde aus irgendeinem Grund behoben (kein S mehr).
quelle
Dies wird normalerweise durch eine Unterbrechung beim Wechseln der Zweige verursacht.
Wechseln Sie zu einem anderen Zweig und dann zurück zu dem Zweig, den Sie wirklich wollen.
svn switch some_other_branch_url
svn switch desired_branch_url
quelle
Nur eine Bemerkung: Ich habe das gleiche S-Symbol erhalten, als ich ein gelöschtes Verzeichnis an derselben Stelle im Repository ausgecheckt habe, aber eine andere URL verwendet habe , dh mit unterschiedlichen Protokollen zum Auschecken wie 'svn checkout svn + ssh: // user @ scm .gforge ... 'gegen' svn checkout --username user https: //scm.gforge .... '. Ich habe es gelöst, indem ich es erneut ausgecheckt habe, indem ich dieselbe URL verwendet habe, die ich beim ersten Auschecken verwendet habe.
quelle
Für den Fall, dass jemand zu spät nach der Antwort sucht (die oben korrekt angegeben ist), glaube ich, dass eine wahrscheinliche Ursache für diese Situation ein 'svn-Schalter' in einem übergeordneten Verzeichnis ist, der fehlschlägt (wie im Fall einer lokalen nicht festgeschriebenen Datei mit der gleiche Name und keine Option --force), sodass alle Dateien nach dem Fehler "nicht umgeschaltet" bleiben.
Aus diesem Grund (vorausgesetzt, das ursprüngliche Problem wird später behoben) wird ein nachfolgender "svn switch" erneut im selben übergeordneten Verzeichnis die verbleibenden nicht geschalteten Dateien in einen neuen Repo-Pfad verschieben.
quelle
Dies bedeutet, dass Sie von einer Arbeitskopie zu einer anderen gewechselt haben, beispielsweise eine Arbeitskopie ausgecheckt und dann ausgetauscht haben, um sie mit einem Codezweig zu vergleichen. Weitere Informationen zum Rückgängigmachen finden Sie im SVN-Buch .
quelle
Es gibt noch eine andere Möglichkeit, diesen Status zu erreichen - was hoffentlich jemandem Zeit spart, ihn aufzuspüren.
Ich habe eine externe Bibliothek in mein SVN-Stammverzeichnis entpackt, und es stellte sich heraus, dass der Autor eines Drittanbieters versehentlich seinen eigenen .svn-Ordner in einen seiner Ordner aufgenommen hat. Dies überschreibt natürlich unseren eigenen, korrekten Subversion-Ordner und hat den gleichen Effekt wie an anderer Stelle auf dieser Seite beschrieben - ein Ordner scheint unerwartet in einen anderen Zweig gewechselt zu sein.
quelle
.svn
Verzeichnisse zu löschen . Exportieren Sie entweder ein sauberes Verzeichnis zur Verwendung oder löschen Sie die .svn-Verzeichnisse nach dem Kopieren, und es wirdsvn add
vorhersehbar."Gegenstand ist geschaltet."
Wenn Sie "svn switch" für Ihre Arbeitskopie verwendet haben, könnte dies dies erklären?
quelle
Für mich geschieht dies, wenn der Befehl "svn switch" unterbrochen wird. Um ihn mit TortoriseSVN zu lösen, klicke ich mit der rechten Maustaste auf die Datei und wähle " Zurück zum übergeordneten"
quelle
Eine einfache Lösung, um das 'S' loszuwerden, wenn Sie Probleme haben
Gehen Sie einfach zu dem mit 'S' gekennzeichneten Verzeichnis und löschen Sie das versteckte .svn-Verzeichnis:
Danach werden die Quellen mit '?' und Sie könnten sie leicht frisch hinzufügen:
quelle
In meinem Fall wurden zwei Unterverzeichnisse in der Verzweigung im Trunk gelöscht. Ich habe von Trunk den Zweig aus dem Verzeichnis der obersten Ebene gewechselt und bin dann zurück zu Trunk gewechselt und habe festgestellt, dass das Problem mit diesen Unterverzeichnissen jetzt im Status ist
S
.Ich habe die Antwort von @ahnbizcad als Richtlinie verwendet. Aus dem übergeordneten Verzeichnis (das sich selbst unter dem Verzeichnis der obersten Ebene befindet) der Unterverzeichnisse:
svn sw <branch_url>
svn sw <trunk_url>
quelle
Ich schlage vor, Sie lesen die offizielle Hilfe, versuchen Sie:
oder
quelle