注意:昨天我在kiln.stackexchange.com上问过这个问题,但是没有得到答案,而且它正在阻碍我的工作.所以我想我会在这里试一试.
我的主要mercurial存储库中有一堆子存储库.在初始设置期间,我犯了错误.hgsub.也就是说,我将两个子存储库指向同一目录.
我应该拥有什么:
sites/1=sites/1
sites/2=sites/2
sites/3=sites/3
Run Code Online (Sandbox Code Playgroud)
我实际上有什么:
sites/1=sites/1
sites/2=sites/2
sites/2=sites/3
Run Code Online (Sandbox Code Playgroud)
愚蠢的复制/粘贴错误.我承诺错误.hgsub,没有意识到我的错误.稍后进行一些修改,在添加一些新的子库时.hgsub,我注意到了错误并将其修复了内部.hgsub.我承诺并继续前进.我已经投入了大量合理的工作,我宁愿不重做,因为我已经"修复"了这个错误.hgsub.
现在我们来解决实际问题:我在子sites/3存储库中做了一些更改,当我尝试提交主存储库时,我收到以下错误:
abort: unknown revision 'LongGUIDLookingString'
我发现这个讨论,似乎解决了我遇到的同样问题,但我无法弄清楚bos如何修复它.为了解决这个问题,我需要做什么?
相关部分.hgsubstate:
7d1e430ac5f12e00cb5bebcdf693e72db2c45732 sites/1
6eea936a5b7cfff6169f59d0dc1c8c4eb5f8412d sites/2
e2b83b301997de8add1b659d82a7ab8201bda653 sites/3
Run Code Online (Sandbox Code Playgroud) 我的网站是一个包含多个子存储库的mercurial存储库.我需要确保我拒绝访问服务器上每个.hg目录中的所有文件.
例如,我有http://example.com/.hg/和http://example.com/subrepo1/.hg/
我已将以下内容添加到.htaccess中:
<Files ~ "^\.(hg|ht)">
Order allow,deny
Deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)
这是一个好的开始,因为它拒绝访问以.hg和开头的文件.ht,但它不拒绝访问.hg目录中的文件,因此如果有人输入,例如http://example.com/.hg/branch,分支文件将显示在他们的浏览器中.
为了确保这些文件不会显示给用户,我需要做什么?如果有人试图访问.hg我服务器上任何目录中的文件,我想将403或404发送回浏览器.
此问题也适用于其网站为subversion/svn存储库的任何人.