使用修補程式

修補程式可讓開發人員不用將成果儲存在儲存庫中,就可分享它。 當開發人員想要分送至透過儲存庫分享的專案, 但是對儲存庫又沒有寫入權時,這項功能就非常有用。在此情況下, 開發人員可以建立修補程式,然後以電子郵件將它寄給具有寫入權的開發人員, 或是將它附加到專案所使用的錯誤報告系統中的一個錯誤,視專案所定義的程序而定。然後具有寫入權的開發人員就可套用修補程式至專案, 並確認變更。

若要從 CVS 專案建立修補程式:

  1. 選取包含要併入修補程式中的修正之資源。雖然這可以是任何資料夾,不過選取專案本身卻是最簡單的, 因為修補程式必須套用至其從中產生的同一個資源。修補程式也應套用至它在其上產生的同一個檔案修訂, 因此應採取一些步驟,確定修補程式套用至同一個資源清單(執行此動作的最簡單方法是在版本的頂端建立修補程式)。
  2. 從蹦現功能表中,選取團隊 > 建立修補程式...。「建立修補程式」精靈將會開啟。
  3. 選擇儲存修補程式的位置:
    1. 儲存至剪貼簿 - 這會將修補程式置於剪貼簿上, 使其可被貼到文字編輯器(如電子郵件程式)中。
    2. 儲存至檔案系統 - 這個選項會將修補程式置於本端檔案系統中的指定檔案中。
    3. 儲存在工作區 - 這個選項會將修補程式置於其中一個現有的工作台專案內的指定檔案中。
    若是小型的修補程式,則使用剪貼簿轉送修補程式可能較為合理,但是在大部分的情況下,最好是選擇使用本端檔案系統。按一下下一步來配置產生修補程式的方式。
  4. 選擇如何配置修補程式:
    1. 遞迴到子資料夾中 - 若停用, 則只有選擇的直屬子項會併入到修補程式。否則,會併入所有的後代。
    2. 將新檔案併入修補程式 - 若停用, 則只會併入受 CVS 版本控制的檔案。否則,也會併入已新建但尚未新增或忽略的檔案。
    3. Diff 輸出格式 - 容許選擇數個共用的 diff 輸出格式。一致是許多修補程式應用程式工具(包括 Eclipse)所使用的格式。
  5. 按一下完成
  6. 針對適用於正在修正的專案,轉送修補程式。

若要套用修補程式:

  1. 選取修補程式在其上產生的資源。這個資源應包含與在其上產生修補程式的清單相同的檔案修訂。
  2. 從蹦現功能表中,選取團隊>套用修補程式...。「資源修補程式」精靈將會開啟。
  3. 指出修補程式位於何處:
    1. 檔案 - 修補程式在本端檔案系統上的檔案中。請輸入到檔案的完整路徑,或是使用瀏覽... 按鈕來尋找檔案。
    2. 剪貼簿 - 修補程式在剪貼簿上。警告:使用檔案型修補程式比較安全。若使用剪貼簿, 但是修補程式是在不同的平台上產生(亦即 Linux 對 Windows),則可能無法正確處理指令行結尾。
    按一下下一步來查看套用修補程式的效果。
  4. 這個頁面的頂端窗格顯示修補程式是否能順利套用到您工作區中的檔案。如果您在樹狀結構中選取葉節點項目, 則底端窗格會以易讀的並列呈現方式顯示修補程式檔(在修補程式術語中又稱為 'hunk')的一部分。附註: 在套用 hunk 之後,底端窗格不會顯示資源在您工作區中的外觀會是如何的預覽。 它只顯示修補程式檔的內容。
    1. 已勾選的項目表示修補程式(或 hunk)可順利套用至工作區資源。 您可以取消勾選修補程式或個別的 hunk 來加以排除。
    2. 紅色驚嘆符號表示修補程式或 hunk 有問題。
      如果修補程式的格式不正確,或是在修補程式中產生的一或多個檔案的修訂與該修補程式所套用的修訂不符,就會發生這個問題。
      失敗的原因會記載於括弧中。

      為了能順利套用完整的修補程式,您必須除去問題(紅色驚嘆號), 並取得在每一處所勾選的項目,方法是調整此精靈頁面中的選項(請參閱以下的「選項」)。

  5. 如果一切都沒有問題,請按一下完成來套用修補程式。現在,工作區將會包含修補程式所修改的每一個檔案的送出變更。

套用修補程式的選項

為取得修補程式檔的順利相符項目,您有下列選項:
  1. 回到「資源修補程式」精靈的第一頁, 選取應套用修補程式的正確資源。
  2. 如果儲存在修補程式檔中的路徑名稱的共用字首與您現行工作區中的路徑名稱不符, 您可以「忽略前置路徑名稱區段」。
  3. 使用「忽略空格」選項,使相符的程序獨立於修補程式檔與您工作區中的檔案之間的空格差異。
  4. 調整「最大 fuzz 因素」(修補程式術語)。 這個因素決定 hunk 被容許比對距離其原始字行多遠。 預設值是二。因此,如果在 hunk 修補程式檔中給定的字行上不符, 則「資源修補程式」會嘗試比對在該位置前面或後面的 hunk 'fuzz' 行數。
  5. 對已套用到您工作區的修補程式檔,使用「反轉修補程式」選項。復原或重做修補程式時,這個選項也非常有用。

相關概念
與 CVS 的團隊程式設計

相關作業
比較資源

相關參照
CVS

 
Copyright IBM Corporation and others 2000, 2003