2012-06-19 95 views
0

我认为这个问题的答案是你不能,但是我想问这个问题以防万一我找不到答案。在Mercurial存储库中,将工作文件夹更改为子文件夹

另外,我想知道是否有更好的方法来处理这种情况。

我有一个存储库,有一个名为网站的子文件夹。问题是,在网站上工作的开发人员想要检查文件进出linux/var/www/html文件夹。

问题是,hg repo的根目录不是网站。如果我在html中签出,那么你最终会得到/ var/www/html/website(加上我们在repo根目录下的其他文件和文件夹现在在html文件夹中)。

如果这是SVN,那么我可以做一个网站子文件夹结帐。

我以为有一个想法,那就是可能有办法将这个克隆的工作文件夹更改为网站文件夹(类似于SVN交换机)。它似乎应该是技术上可能的,因为实际存储库被存放在.hg文件夹中,但我在文档中没有看到类似的东西。

另一方面,有没有更好的方法来处理这种情况?一个想法是将hg repo克隆到一个中立的位置,并配置Apache从那里加载网站,但开发这个工具的开发者有这个原因,这不是最好的解决方案。

还有其他方法可以解决这个问题吗?使用Apache网站和HG的正常工作流程/模式是什么?配置apache是​​否更正常?我通常在Windows/IIS工作,这是我会做的。

HG还有其他的情况,你真的只想在子文件夹中工作。那里有什么解决方案?

+0

只是想补充.. 2个解决方案,我考虑的是:(1),这样的网站文件重新组织回购的根,并保持其他文件在一个单独的回购或(2)改变网站文件夹转换为子回购,但我没有任何使用subrepos的经验。 – Zack

+0

如何使用符号链接或类似的东西? – Lucero

回答

1

我会用一个符号链接对于这一点,如:

LN-S /路径/到/回购/网站的/ var/www/html等

这种方法允许您设置您的系统(阿帕奇等)一次,并迅速交换到不同的代码库。有更复杂的方法可以做到这一点,但这非常简单。

+0

谢谢。我认为这会起作用。 – Zack

+0

我第二个符号链接。这很适合用mklink在Windows上的一个仓库中管理多个文件夹。 – Corgalore

相关问题