[您也可以查看此文档的 单页版本。]

网站更改

简介

Subversion 项目欢迎对网站进行改进。但是,这个过程并不像在浏览器中点击“另存为”,编辑并发送更改那样简单。一方面,许多页面实际上由三个或更多文件组成,因此浏览器不会保存正确渲染的副本。

因此,如果您打算提交重大更改,我们建议您获取源代码副本并设置测试镜像以检查您的更改。

当然,对于小的更改,只需目视检查补丁通常就足够了。

获取网站源代码

网站的源代码可从 Subversion 仓库获取。要浏览源代码,请访问 https://svn.apache.org/repos/asf/subversion/site/

要将副本下载到 ~/projects/svn(本页其余部分使用的位置),请使用以下命令

  mkdir -p ~/projects/svn
  cd ~/projects/svn
  svn co https://svn.apache.org/repos/asf/subversion/site/ site

如果您下载到其他位置,则需要调整 Web 服务器配置中的路径以指向该位置。

设置镜像以进行测试

Subversion 网站使用服务器端包含 (SSI) 在 Web 服务器内组装页面。这意味着要验证您可能希望进行的任何更改,您需要通过连接到系统上安装的服务器(Apache 2.2Apache 2.4)的 Web 浏览器查看相关页面。

以下步骤应提供一个Apache 虚拟主机,该主机在 Unix 类型系统上正确呈现 Subversion 网站的本地副本。这很可能位于 /etc/apache2, /etc/httpd 或类似目录下,具体取决于您的系统。这些说明已在 Apache 2.2 和 Apache 2.4 上测试过。

  1. 如上文所述获取网站源代码。
    为了便于以下讨论,我们假设这些源代码位于目录 /home/user/projects/svn/site 中。
  2. 配置 Apache 服务器以使用上述工作副本中的 site/publish 目录作为主服务器或虚拟主机的 DocumentRoot。
  3. 检查您的 Apache 服务器是否包含 mod_include.so
  4. 为相关的 DocumentRoot 启用服务器端包含。相关的 Apache 指令是
    Options +Includes
    
  5. 为相关 DocumentRoot 中的 html 文件启用 SSI 解析。相关的 Apache 指令是
    AddOutputFilter INCLUDES .html
    

将所有内容整合在一起,一个示例虚拟主机配置如下

<VirtualHost *:8080>
        ServerAdmin webmaster@localhost

        DocumentRoot /home/user/projects/svn/site/publish
        <Directory /home/user/projects/svn/site/publish/>
                Options +Includes
                AddOutputFilter INCLUDES .html
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel debug

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

重新启动或重新加载服务器后,如果您使用以下链接,您应该会看到Subversion 社区指南 Web 更改页面的副本:

http://127.0.0.1:8080/docs/community-guide/web.html#web_mirror

验证您的更改

请验证对网站进行重大更改的所有补丁。

如果您已按照本页面的建议设置了网站镜像,请使用命令行获取已更改页面的正确呈现副本,方法是

wget http://127.0.0.1:8080/docs/community-guide/YOUR_CHANGED_PAGE.html

然后将生成的 文件上传到 HTML 验证器,例如,W3C 验证器服务

创建补丁和日志消息

为有关项目网页的补丁编写日志消息时,例如

https://subversion.org.cn/docs/community-guide/some_page.html#section-name

在日志消息中列出补丁中修改的文件名称,相对于site/目录,并列出添加或修改的章节的锚点,例如

 * docs/community-guide/some_page.html
   (section-name): fixed issue xyz

有关 Subversion 补丁要求的完整讨论,请遵循项目通用补丁指南日志消息指南

TortoiseSVN 官方中文版 1.14.7 发布