I’ve been using Subversion for a while to maintain the PHP web apps and
sites I develop in my Windows box. But when I want to publish a new
release I update the live site manually and I want to improve this process.
I can’t simply export to a fresh directory and upload all files because
that won’t handle renames and deletions (and the upload will take
forever anyway). I typically use WinMerge to find out what files changed
but there’re some drawbacks:
* It can’t compare files through FTP (and if it could, I guess it’d need
to download the whole site every time) so I need to maintain a local
copy of the live site and upload files manually.
* It can’t use the repository information so it won’t ignore
non-versioned items (settings, uploads, caches, data…) unless I maintain
a separate filter duplicating the svn:ignore data.
I could keep my current method and write a bunch of Subversion hook
scripts in PHP (I’m not proficient in any other language available) to
keep the data in synch but I looks like a overwhelming effort that can
easily break. So I wonder how is everyone else doing it. But according
to my googling the answer is: writing lots of custom scripts!
Is it the only way? Is there a tool to help with this common task? Can
Apache Ant be used for this? How do *you* do it?
--
-- http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
-- Mi sitio sobre programación web: http://bits.demogracia.com
-- Mi web de humor al baño María: http://www.demogracia.com
--
sites I develop in my Windows box. But when I want to publish a new
release I update the live site manually and I want to improve this process.
I can’t simply export to a fresh directory and upload all files because
that won’t handle renames and deletions (and the upload will take
forever anyway). I typically use WinMerge to find out what files changed
but there’re some drawbacks:
* It can’t compare files through FTP (and if it could, I guess it’d need
to download the whole site every time) so I need to maintain a local
copy of the live site and upload files manually.
* It can’t use the repository information so it won’t ignore
non-versioned items (settings, uploads, caches, data…) unless I maintain
a separate filter duplicating the svn:ignore data.
I could keep my current method and write a bunch of Subversion hook
scripts in PHP (I’m not proficient in any other language available) to
keep the data in synch but I looks like a overwhelming effort that can
easily break. So I wonder how is everyone else doing it. But according
to my googling the answer is: writing lots of custom scripts!
Is it the only way? Is there a tool to help with this common task? Can
Apache Ant be used for this? How do *you* do it?
--
-- http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
-- Mi sitio sobre programación web: http://bits.demogracia.com
-- Mi web de humor al baño María: http://www.demogracia.com
--
Comment