svn checkout und Update ohne das Verzeichnis .svn
-
20-08-2019 - |
Frage
Ich habe eine Website unter SVN und ich möchte mit der Live-Website flicken, was derzeit im Repository (dh effektiv SVN-Update auf die Live-Website aufrufen), aber ich will nicht .svn Verzeichnisse in jedem Ordner auf die Produktion Website.
Gibt es eine Möglichkeit SVN einzurichten, so dass die .svn Ordner mit Versionsinformationen nicht im selben Verzeichnis wie die Dateien unter Versionskontrolle ist?
In git können Sie erstellen und einen Arbeits Baum detatch und Push-Updates für ein Projekt auf diese Weise (nach http://toroid.org/ams/git-website-howto ), möchte ich grundsätzlich in der Lage sein, etwas ähnliches in sVN zu tun.
Lösung
svn export
funktioniert ähnlich wie ein checkout
aber ohne die .svn
Verzeichnisse. Sie können jedoch nicht update
eine solche Struktur, da es kein SVN-Arbeitskopie ist.
Sie können auch den Web-Server so konfigurieren, den Zugriff auf die .svn
Verzeichnisse zu verbieten und nur mit der Kasse + Update-Methode gehen.
Andere Tipps
Wie wäre es rsync konfiguriert nicht kopieren ".svn" Verzeichnisse?
rsync --exclude=.svn local_svn_copy webserver:site/
Dies kann erneut ausgeführt werden, um die Web-Server-Kopie zu aktualisieren.
httpd.conf:
<Directory ~ "\.svn">
Order allow,deny
Deny from all
</Directory>
Wie laalto erwähnte svn export
macht für eine einfache, aber nicht sehr effiziente Methode zur Aktualisierung eine „Arbeitskopie“, wenn sie wiederholt verwendet:
milen@dev:~$ svn export --non-interactive --force "<URL>" <directory>
Sie können auch git-svn
verwenden, um einen git Spiegel der Website zu erstellen und dann die Art und Weise in dem Artikel, der Sie verknüpfen beschrieben veröffentlichen. Offensichtlich ist dies nicht eine straight forward Lösung though.