Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mercurial中,什么是.hg\store\dh目录?_Mercurial - Fatal编程技术网

在mercurial中,什么是.hg\store\dh目录?

在mercurial中,什么是.hg\store\dh目录?,mercurial,Mercurial,我注意到我的mercurial repos有一个.hg\store\dh目录。该目录的用途是什么 另外,我注意到该目录中的目录名只有8个字符。在允许255个字符长的目录名的操作系统上,这似乎是一个问题 Stephendh文件夹用于,以克服有限的文件名问题。根据找到的文件 所有散列的路径都存储在内部的目录“dh”中 “.hg/store”。非散列路径存储在“.hg/store/data”中 使用的散列是direncoded的sha1摘要(40个字符) “.hg/store”下面的路径,由mercu

我注意到我的mercurial repos有一个.hg\store\dh目录。该目录的用途是什么

另外,我注意到该目录中的目录名只有8个字符。在允许255个字符长的目录名的操作系统上,这似乎是一个问题


Stephen

dh文件夹用于,以克服有限的文件名问题。根据找到的文件

所有散列的路径都存储在内部的目录“dh”中 “.hg/store”。非散列路径存储在“.hg/store/data”中

使用的散列是direncoded的sha1摘要(40个字符) “.hg/store”下面的路径,由mercurial.filelog.encodedir预编码

对于hashencoded路径,第一个n的前八个字符 采用目录级别(转换为小写),其中n为 如果空间允许,稍微调整以使用更多级别(参见 存储。杂交编码)。如果空间允许,则在哈希之前输入文件名 值由文件名中转换为小写的字符填充 输入路径的名称

如您所见,完成的路径编码可能会折叠多个文件 从不同的输入路径目录发起到同一个目录 编码路径目录。文件名的sha1摘要部分确保 文件名是不同的,不会发生名称冲突。


因此,不,8个字符不是问题,因为通过哈希方法解决了歧义。

dh
文件夹用于,以克服有限的文件名问题。根据找到的文件

所有散列的路径都存储在内部的目录“dh”中 “.hg/store”。非散列路径存储在“.hg/store/data”中

使用的散列是direncoded的sha1摘要(40个字符) “.hg/store”下面的路径,由mercurial.filelog.encodedir预编码

对于hashencoded路径,第一个n的前八个字符 采用目录级别(转换为小写),其中n为 如果空间允许,稍微调整以使用更多级别(参见 存储。杂交编码)。如果空间允许,则在哈希之前输入文件名 值由文件名中转换为小写的字符填充 输入路径的名称

如您所见,完成的路径编码可能会折叠多个文件 从不同的输入路径目录发起到同一个目录 编码路径目录。文件名的sha1摘要部分确保 文件名是不同的,不会发生名称冲突。

所以不,8个字符不是问题,因为歧义是通过哈希方法解决的