Frage

Sie wissen, wie Subversion speichert eine Kopie jeder es abgemeldeten in den versteckten .svn Ordner hat Datei? Die Website, die ich baue ist ziemlich groß (hat über 1Gig von PDF-Dateien). Diese PDF-Dateien werden nur sehr selten in der gesamten Existenz der Website ändern.

Ich frage mich, ob es einen Weg war Subversion zu sagen, dass es nicht eine lokale Revision Kopie eines bestimmten Satz von Dateien (meine PDF-Dateien), sondern nur die Synchronisierung mit dem Server, wenn eine Änderung an einer dieser Punkte gemacht wird gespeichert werden sollte Dateien?

War es hilfreich?

Lösung

Subversion verwendet die Version in den .svn Ordnern die neue Datei gegen die alte Datei und sendet nur die Unterschiede zu dem Subversion-Server diff zu können.

Also nein, gibt es keine Möglichkeit, die Dateien nicht in den .svn Ordner haben, die Sie immer noch erlaubt, diese Dateien zu begehen

Andere Tipps

Eine Idee in einer anderen Vene., Wenn Sie verwenden Bazaar + bzr-svn oder Git + git-svn, sie halten eine viel platzsparender Arbeitskopie und Sie können nach wie vor direkt von Ihrem Repository aktualisieren

Sie können die „live“ Kopie Ihrer Website mit svn export anstelle einer Kasse zu prüfen, zu verwalten. Dies würde das Problem der großen Dateien in .svn Ordner vollständig vermeiden.

Ihr Workflow wie folgt sein könnte:

  1. Bearbeiten von Dateien lokal, Test in Testbereitstellung
  2. Commit Änderungen an Repository
  3. Führen Sie einen svn export aus dem Repository in das Live-System

Der Nachteil dabei ist, dass alle Änderungen, die an dem Live-System in der Zwischenzeit überschrieben werden erhalten vorgenommen wurden. Aber Sie können Ihren Workflow anordnen, dass zu vermeiden.

Eigentlich kommt es mir, dass ich nicht weiß, ob Sie über diese versteckten PDF-Dateien in Ihrer Arbeits Kasse betroffen sind, oder in der Server-Bereitstellung. Wenn es in Ihrer Arbeits Kasse ist, dann weiß ich nicht, eine Möglichkeit, diese Dateien mit Subversion zu vermeiden. Wenn Sie jedoch Git verwenden, um mit git-svn, dann wird Git seine eigene komprimierte Geschichte zu verwalten, ohne vollständige Kopien aller Dateien.

Wie Greg sagt, einen SVN-Export verwenden -. Aber in einem lokalen Verzeichnis den SVN Export tun, und dann das lokale Verzeichnis auf den entfernten Standort rsync

Diese bekommt man die Kombination von (a) nicht mit den .svn Verzeichnissen mit und (b) nur die Änderungen aus dem lokalen System an die Fern senden.

Gelingt das nicht, da beide Greg und oriP vorgeschlagen, die Remote-Kasse machen mit 'git-svn'. Es hat immer noch eine gewisse Menge an Overhead über den Raum von einem SVN-Export verbraucht, aber es wird weniger als eine volle SVN Arbeitskopie.

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