2016-09-23 74 views
1

從水銀文檔:在hg克隆中,「添加變更集」,「添加清單」和「添加文件更改」有什麼區別?

清單是描述了在一個特定的變更ID https://www.mercurial-scm.org/wiki/Manifest

當克隆一個水銀存儲庫中,我看到的線的存儲庫中的內容的文件輸出說法:

adding changesets 
adding manifests 
adding file changes 

我不明白這些t hings。我以爲我明白變更集是什麼,但我不知道它與一組「文件更改」會有什麼不同。根據上面的描述,清單聽起來像是同一件事。那麼所有這些有什麼區別?

回答

2

水銀分,你需要在版本系統保持跟蹤分成幾個層次的信息:

  • 變更 - 關於每個修訂的元數據。誰(作者),何時(日期和時間),爲什麼(摘要文本)和什麼(受影響的文件名)等等存儲在這裏。
  • 清單 - 每個清單列出給定修訂中的文件的文件修訂。這就像數據庫中的鏈接表;不包含文件內容,只有給定文件的版本是本版本的一部分。
  • 文件更改 - 這些文件存儲實際的文件數據。存儲完全形成的給定文件的每個版本都是低效的。相反,這會將文件數據存儲在增量壓縮表單中;存儲版本之間的更改,偶爾會進行全面複製,以幫助更快地恢復到版本。

克隆時,需要從遠程服務器將所有3個級別複製到存儲庫中。

有關詳細信息,請參閱Mercurial Wiki Design page

相關問題