2011-11-24 44 views
4

Git有cat-file命令檢查內部文件,例如, git cat-file blob 557db03將顯示哈希以557db03開頭的對象的內容。工具檢查mercurial的內部文件

是否有類似的mercurial工具可以讓我查看merfcurial在內部使用的所有不同數據文件?

回答

5

嘗試hg --debug help,你可以看到所有的調試命令的列表:

debugancestor: 
     find the ancestor revision of two revisions in a given index 
debugbuilddag: 
     builds a repo with a given DAG from scratch in the current empty repo 
debugbundle: 
     lists the contents of a bundle 
debugcheckstate: 
     validate the correctness of the current dirstate 
debugcommands: 
     list all available commands and options 
debugcomplete: 
     returns the completion list associated with the given command 
debugdag: 
     format the changelog or an index DAG as a concise textual description 
debugdata: 
     dump the contents of a data file revision 
debugdate: 
     parse and display a date 
debugdiscovery: 
     runs the changeset discovery protocol in isolation 
debugfileset: 
     parse and apply a fileset specification 
debugfsinfo: 
     show information detected about current filesystem 
debuggetbundle: 
     retrieves a bundle from a repo 
debugignore: 
     display the combined ignore pattern 
debugindex: 
     dump the contents of an index file 
debugindexdot: 
     dump an index DAG as a graphviz dot file 
debuginstall: 
     test Mercurial installation 
debugknown: 
     test whether node ids are known to a repo 
debugpushkey: 
     access the pushkey key/value protocol 
debugrebuildstate: 
     rebuild the dirstate as it would look like for the given revision 
debugrename: 
     dump rename information 
debugrevlog: 
     show data and statistics about a revlog 
debugrevspec: 
     parse and apply a revision specification 
debugsetparents: 
     manually set the parents of the current working directory 
debugstate: 
     show the contents of the current dirstate 
debugsub: 
     (no help text available) 
debugwalk: 
     show how files match on given patterns 
debugwireargs: 
     (no help text available) 

有很多人,他們幾乎暴露一切。

+1

謝謝,那就是我一直在尋找的! –

2

最接近的命令是:

hg cat -r rev aFile 

hg cat:打印指定的文件,因爲它們是在給定的修訂

這並非完全比git cat-file相同現象,因爲後者也可以列出對象列表的SHA1,類型和大小。

在第二種情況下,hg manifest可能更合適。

+0

嗯,感謝您的答案,但不是我一直在尋找。我對正在使用的內部數據格式更感興趣.. –

+0

@danielkullmann:但'git cat-file blob rev afile'與'hg cat -r rev aFile'完全相同,不是嗎?至於類型,它們應該通過清單可見。我的意思是,你可能無法在* one * hg命令中獲得'git cat-file'所提供的所有信息。 – VonC

+0

我以'cat-file'命令爲例。 blob類型可能是一個不好的例子,因爲blob只包含文件的數據;樹或提交對象更有趣。但'hg manifest'是一個開始。 –