Frage

Ich möchte ein Verzeichnis im Repository über die Kommandozeile löschen. Zur gleichen Zeit, ich will nicht Subversion diese Änderung auf der lokale Arbeitskopie propagieren.

Das Verzeichnis, in der Arbeitskopie sollte unberührt geblieben sein, wie es ist (ach, ich will svn: ignore Eigenschaft). Wie auch immer, ich konnte nicht einen Weg finden, um dies ohne die Löschungen zu erreichen, um meine Arbeitskopie propagiert wird.

War es hilfreich?

Lösung

Soweit ich weiß, ist dies unmöglich. svn:ignore wird nichts tun, wenn Dateien tatsächlich versioniert werden.

Es macht so etwas wie dieses etwas gefährlich zu tun, wie Menschen lokale Änderungen haben könnten sie behalten wollen. Wenn sie nicht aufpasst, sie könnten sie verlieren.

Andere Tipps

Wie Thorarin sagte, ist es nicht möglich sein, da würde der Löschbefehl unabhängig von der sVN weitergegeben wird. ignore Eigenschaft

Statt zu löschen, eine sicherere Migration könnte sein Umbenennungs das problematische Verzeichnis (so etwas wie dir.old, und dann svn add: ignore auf dem ursprünglichen Verzeichnisnamen Sie könnten dann sagen, die Menschen zu. manuell kopieren ihr Verzeichnis wieder auf den ursprünglichen Namen, bevor Sie es vollständig löschen.

Je nach Art der Dateien in diesem Verzeichnis, mögen Sie vielleicht auch halten, um dauerhaft als Ort für Entwickler ihre Änderungen zu synchronisieren. In diesem Fall können Sie machen deutlich, dass es sich um ein Template-Verzeichnis, indem sie es so etwas wie dir.tmpl nennen, so dass sie nicht direkt verwendet bekommen.

Hier ist eine gestohlene Antwort auf eine andere Frage (dank Maciej Lebkowski !):

Aus meiner Erfahrung: don`t setzt diese Datei unter Versionskontrolle und Nutzung svn:. Ignorieren drauf

Es ist ein wenig schwer am Anfang, da Sie eine Datei nicht ignorieren können, die allready unter Versionskontrolle ist, und Sie können ohne sie von der Festplatte zu entfernen (und von jeder Arbeitskopie auf dem nächste eine Datei aus der Versionskontrolle nicht entfernen Update ...). Aber wenn man endlich die repo richtig einzurichten verwalten, es funktioniert wie Charme. Vergessen Sie nicht, eine generic-Vorlage anstelle der ursprünglichen Konfigurationsdatei hinzufügen (so dass jeder weiß, über neue Konfigurationsvariablen, und so weiter).

Für neue Repo:

mkdir Config
svn add Config
svn propset svn: ignore '* .conf' config

Für Repo vorhanden: sicher sein, einen Backup Ihrer Konfiguration in jeder Arbeitskopie zu haben, dann entfernen (SVN del) Config aus dem Repo verpflichten (Bitte beachten Sie: die Datei wird in jeder Arbeitskopie auf dem nächsten Aktualisierung gelöscht werden ! Sie haben eine Backup) haben und dann die Datei wiederherzustellen und die ignore Eigenschaft gesetzt.

Eine andere Möglichkeit ist eine Sperre. Es garantiert, dass niemand die Datei verpflichtet, aber es wird zu einem Fehler auf jedem begehen. nicht sehr schön.

Und der dritte Weg - Changesets, eine neue Funktion in SVN 1.5-Clients. Das ist ordentlich, aber es ist nur im Zusammenhang mit einer Arbeitskopie, nicht zu einem Repository global. Und man muss sie manuell einrichten, fügen Sie jede neue Datei -. Es ist schwer zu halten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top