Copyright 2008 Yuri Timofeev tim4dev@gmail.com
A set of scripts named "svnexport.php" is intended to update the Web site from the Subversion repository by using "svn export [options]" command.
You can work through a Web interface or from the command line.
Switching working versions of the website occurs almost instantaneously through symlink. I.e. excludes a situation where in the process of updating (export or checkout) part of files already updated, and some part old version.
Attention! The script svnexport.php should be placed outside catalog the Web site.
Attention! Catalog/section of the website (or DocumentRoot for the entire website), which will be updated through the "svn export" must be a symlink!
Approximate scheme directories on a website:
[some dir] | +--site_dir --(symlink)--> site_dir.1 | +--site_dir.1 | +--site_dir.2 | | +--svnctrl (web interface for svnexport)
The scheme of a works through a Web interface:
site_dir --> site_dir.1
is replaced by
site_dir --> site_dir.2
NOTE. The next launch svnexport.php will be cleaned a off-site directory site_dir.1.
svn export will be into site_dir.1 and symlink site_dir will reassign from site_dir.2 to site_dir.1.
The scheme of a works through a command line:
PHP4 and later, http server, access to the server file system and crond.
Svnexport.php is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Svnexport.php is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT ABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Project page on SourceForge.net
Receive the newest version from Source Forge Subversion Server:
svn co http://svnexport.svn.sourceforge.net/svnroot/svnexport/trunk <your dir>
Other methods: