[您也可以檢視此文件的 單頁版本。]

網站變更

簡介

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

如果您下載到其他位置,您需要調整網路伺服器設定中的路徑以指向該位置。

設定鏡像以進行測試

Subversion 網站使用伺服器端包含 (SSI) 在網路伺服器中組裝頁面。這表示若要驗證您可能想要進行的任何變更,您需要透過連線到安裝在您的系統上的伺服器的網路瀏覽器來檢視相關頁面,伺服器可以是 Apache 2.2Apache 2.4

下列步驟應會提供一個Apache 虛擬主機,可以在類 Unix 系統上正確呈現 Subversion 網站的本機副本。這可能會位於 /etc/apache2, /etc/httpd 或類似的目錄中,具體取決於您的系統。這些說明已在 Apache 2.2 和 Apache 2.4 上進行測試。

  1. 取得網站來源,如上節所述。
    以下討論中,我們假設這些來源位於目錄 /home/user/projects/svn/site
  2. 設定 Apache 伺服器,使用上述工作副本中的 site/publish 目錄作為主伺服器或 VirtualHost 的 DocumentRoot。
  3. 檢查您的 Apache 伺服器是否包含 mod_include.so
  4. 為相關 DocumentRoot 啟用伺服器端包含。相關的 Apache 指令為
    Options +Includes
    
  5. 為相關 DocumentRoot 開啟 html 檔案的 SSI 分析。相關的 Apache 指令為
    AddOutputFilter INCLUDES .html
    

將所有內容組合在一起,範例 VirtualHost 設定如下

<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 社群指南網站變更 頁面的副本:

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.dev.org.tw/docs/community-guide/some_page.html#section-name

在記錄訊息中列出修補程式中修改的檔案名稱,相對於 site/ 目錄,並列出已新增或修改區段的錨點,如下所示

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

有關 Subversion 修補程式需求的完整討論,請遵循專案 一般修補程式指南記錄訊息指南