文件管理

文件管理,指的是WIDE如何管理其原始文档文件。

1. 文件布局             

     为了配合版本控制系统管理代码文件,WIDE将文件分为两类:

     1)、源代码:需要被永久保存记录的文件。这些文件保存在相对于代码根目录,的一个域名目录下。

     2)、临时文件:这包括了个人对站点的设置信息、站点计算的临时文件等信息。这些文件要么被保存在系统临时目录下,要么被保存在$WIDEINSTDIR/data/temp目录中。

    实际上,您并不需要关心这些文件的布局,使用WIDE操作时,并不涉及文件的存取。您可以将整个域名当作一个完整的文件夹,使用版本控制软件整体提交及更新。

2. 多人之间共享文件

Wide推荐使用SVN作为项目文件的文件管理系统,以解决多人之间的文件共享问题——同时拥有了版本概念。实际上,由于WIDE文件内容大多是软件自动维护的,文件级的合并并没有被WIDE所支持。因此,文件自动合并成为一件十分痛苦的事情。所以,作为一个原则:任何时候不要多人同时编辑一个URL。WIDE的文件布局会确保不同URL使用了不同的文件来保存。

WIDE推荐使用SVN作为共享工具,不推荐使用git,cvs。cvs无需多言,git存在对二进制的支持不好,去中央化引发的集中管理困难,合并功能不被支持的话,绝大多数GIT的优点将消失。

我们推荐将SVN作为最简单的文件共享工具。下面从这个思路来介绍其主要用法:

1)SVN Checkout——从中央服务器获取到项目

SVN Checkout是指在代码根目录下右键,点击SVN Checkout,输入url地址即可将服务器上项目的文件下载到本地。

北京SVN地址:http://glue.spolo.org/svn/glue/trunk/wware/

廊坊SVN地址:https://scm.spolo.org/scm/svn/langfang

2)SVN Update——从中央服务器得到其他人的更改

SVN Update是指在对应的项目域文件夹下右键,点击SVN Update即可将服务器上的所有该项目的文件更新到本地该文件夹下。命令执行成功之后,所有其他人提交的变动将被同步到自己的本地。

3)SVN Commit——将自己的变动提交回服务器

在对应的项目域文件夹下右键,点击SVN Commit。如图所示,在该窗口,点击All,之后在文本框输入“所完成的功能模块 对应的链接地址(只需填写后面部分即可,不含自定义的域名)”。

提交站点编辑界面: /wide/site/editpage.html(http://www.edit.com/wide/site/editpage.html。这里的链接地址只需要填写后面的部分,不包括本地自定义域名。

需要注意的是:

1. 提交之前请先更新

2. 提交时,请选择all,确保新文件自动添加,删除的文件自动删除。如下图:

Windows系统下的操作

Ubuntu系统下的操作

4)冲突

当有人同时编辑一个URL时,提交文件时会遇到冲突。这是因为有人不按工作流程执行引发的,此时需要手动制定使用谁的内容,如图所示。

解决上面冲突的方法,需要查看记录,看谁违反流程做了变动,并追问其修订内容,然后决定使用谁的内容作为正确内容(未来其他人更新时将使用的内容)提交服务器。

右键之后看到Edit Conflicts编辑冲突、Resolve conflict using 'theirs'使用别人的内容、Resolve conflict using 'mine'使用自己的内容。

5)Add——只在初始化项目时使用,由网管执行,通常我们是不会使用这个操作的。

Add功能用于将本地新建项目域上传到服务器。首先在wide主页面新建一个项目test2.com,之后到本地wware文件夹下找到test2.com(此时test2.com没有更新(SVN Update)和上传(SVN Commit),右键选择TortoiseSVN,再选择Add,如图所示即是点击Add之后的窗口。

添加完成后,右键test2.com,我们可以看到该项目可以更新(SVN Update)和上传(SVN Commit)。