變更集(changeset)是版本控制軟體中一組修改記錄的總和,以及這些修改記錄的元資訊,變更集是軟體倉庫內二個連續版本之間的差異比較,一般會將變更集視為是版本控制系統中原子性英語Atomicity (database systems)單元,無法再分割。變更集屬於同步模式英語synchronization model[1][2]

改變集
上級分類群組、​數據集 編輯
用途版本控制 編輯
使用者開放街圖、​OSMCha、​Git、​Subversion 編輯

術語

Git版本控制系統中,會將變更集稱為commit[3],提交變更集(技術上應該說是snapshot[3])則會使用commit指令[4]

其他版本控制系統會用不同的名詞來表示變更集,在Darcs英語Darcs裡稱為「補丁」(patches)[5],而Pijul稱為「變更」(changes)[6]

元資料

版本控制系統會在變更集中加上元資料。典型的元資料包括程式撰寫者的說明(在Git中稱為commit message)、撰寫者的姓名、提交的日期等[7]

不重複的識別碼是變更集的元資料中很重要的一部份。若是集中式的版本控制系統(像是SubversionCVS),會直接用遞增的數字作為識別碼[8][9]。分散式控制系統(例如git),則會在變更集上用密碼雜湊函數得到幾乎不可能重複的識別碼[10]

相關條目

參考資料

  1. ^ Mercurial: ChangeSet. [2020-08-05]. (原始內容存檔於2010-01-15). 
  2. ^ Version Control System Comparison. Better SCM Initiative. [2020-08-05]. (原始內容存檔於2009-03-21). 
  3. ^ 3.0 3.1 changeset in the gitglossary. [2023-10-16]. (原始內容存檔於2024-04-03). 
  4. ^ commit in the gitglossary. [2023-10-16]. (原始內容存檔於2024-04-03). 
  5. ^ Darcs - DifferencesFromGit. [2023-10-16]. (原始內容存檔於2024-03-28). 
  6. ^ pijul log - The Pijul manual. [2023-10-16]. (原始內容存檔於2023-08-17). 
  7. ^ Git - git-commit-tree Documentation. [2023-10-16]. (原始內容存檔於2024-03-24). 
  8. ^ Revision Specifiers - Version Control with Subversion. [2023-10-16]. (原始內容存檔於2024-02-04). 
  9. ^ CVS--Concurrent Versions System - Revisions. [2023-10-16]. (原始內容存檔於2022-11-20). 
  10. ^ Git - hash-function-transition Documentation. [2023-10-16]. (原始內容存檔於2024-03-14). 

延伸閱讀