Magento开发代码管理

一般设想是: 安装Magento到Apache的虚拟目录下,然后修改或增加Magento安装目录下的文件。

但是这样做的结果显而易见,修改的代码和原来的代码混杂在一起,很难管理。另外,如果是一个小组在开发扩展Magento,那么又该如何使用版本控制工具(如Subvesion)来管理你的代码呢?

所以,我的做法是:

I. 分离Magento扩展(包括更改)的代码——单独放到一个目录下.
2. 如果涉及到对Magento原来文件的修改,那么要做好说明文件列表,以便系统升级时做相应的更新。
3. 使用Subversion来管理源代码:日常任何调式总是修改单独项目目录下的文件,提交Subversion,然后再Update到Magento安装目录下。
第一次更新自己的代码到Magento安装目录下,需要执行Subversion的Checkout命令。假设目录布局如下:
Subversion Repository
svn/magento
    |__ app
         |__ code
         |__ design
   .....

Magento安装目录
d:\programs\Apache2\htdocs\mageto


那么
svn co http://localhost/svn/magento d:\programs\Apache2\htdocs\mageto
将把svn仓库上的代码checkout到d:\programs\Apache2\htdocs\mageto目录下。这要求d:\programs \Apache2\htdocs\mageto目录必须为空,但是该目录是Magento安装目录(肯定不为空),所以checkout时需要参数 --force.
svn co --force http://localhost/svn/magento d:\programs\Apache2\htdocs\mageto

以后就可以正常update.

* 如果第一次修改Magento安装目录下的文件,推荐做法是:

在Magento安装目录下修改该文件,提交到Subversion, 然后在项目目录下update.接下来就像前面介绍的:一直在单独项目目录下修改。

* 如果checkout到Mageneto安装目录之前subversion就有和Magento安装目录下同名文件,导致的结果是Magento安装目录下的文件不会被更新,但是标记为本机比SVN上新。一个做法是手工覆盖这些旧的文件,另一种做法是将单独项目工作目录下的所有文件(这时应该保持和svn 上一致,而且包括.svn目录)简单地复制到Magento安装目录下。接下来就可以使用svn update正常工作了


同样,对于Zen-Cart,Joomla等开发者都应该碰到类似的问题,他们是如何解决的?不妨可以分享一下经验。

你可能感兴趣的:(apache,虚拟机,SVN,项目管理,subversion)