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存储库中检索子目录?_Mercurial_Nant - Fatal编程技术网

如何仅从Mercurial存储库中检索子目录?

如何仅从Mercurial存储库中检索子目录?,mercurial,nant,Mercurial,Nant,我试图说服我们的团队使用Mercurial作为源存储库,而不是VSS。在更新构建脚本的过程中,我在尝试从Hg存储库检索文件时遇到了一个问题 我们的构建是使用NAnt自动完成的,目前可用于本地构建或来自VSS的构建(即,根据需要从VSS提取源代码)。我正在尝试更新它们,以便与Mercurial一起工作 基本上,当我处理单个文件时,我没有任何问题,因为我可以使用NAnt的“get”任务(在获得适当的修订哈希后)检索单个文件 我遇到的问题是,当我需要处理不在存储库根目录下的文件目录(和子目录)时我似乎

我试图说服我们的团队使用Mercurial作为源存储库,而不是VSS。在更新构建脚本的过程中,我在尝试从Hg存储库检索文件时遇到了一个问题

我们的构建是使用NAnt自动完成的,目前可用于本地构建或来自VSS的构建(即,根据需要从VSS提取源代码)。我正在尝试更新它们,以便与Mercurial一起工作

基本上,当我处理单个文件时,我没有任何问题,因为我可以使用NAnt的“get”任务(在获得适当的修订哈希后)检索单个文件

我遇到的问题是,当我需要处理不在存储库根目录下的文件目录(和子目录)时我似乎无法找到正确的命令来从存储库中检索/复制子目录到构建的“工作”目录。我花了整整一个下午的时间试图找出如何处理mercurial可执行文件(因此我可以使用NAnt“exec”任务),基本上已经撞到墙了,所以我想我应该试着在这里发帖

有人能确认这是否可行,并就我如何做到这一点提供一些建议吗?我意识到Mercurial是通过文件而不是目录跟踪更改的,但我觉得奇怪的是,这不是现成的(从我所知)

如果这是不可能的,我看到的唯一解决办法就是维护预期要处理的文件的NAnt文件集列表(啊!),或者将整个存储库克隆到一个临时目录,然后根据需要从该源复制文件(这对我来说就像是一个累赘)


我意识到我可以简单地为我想要使用的目录创建另一个存储库,但我不想走这条路,因为我认为这会大大增加我正在尝试做的事情的复杂性(我将不得不对我们构建的所有不同库大量应用这一点).

Mercurial不允许您仅获取存储库的一部分。你必须得到整棵树。它比svn更关注整个回购

Mercurial不允许您只获取存储库的一部分。你必须得到整棵树。它比svn更关注整个回购

您可以尝试将存储库分割为多个repo,并使用该功能对其进行管理。然后您可以独立地拉取子目录

您可以尝试将存储库分割为多个repo,并使用该功能对其进行管理。然后您可以独立地拉取子目录

我已经想到了这一点,但由于我将向团队的其他成员介绍Mercurial,我正试图限制我们必须依赖的核心产品的修改数量。一旦它成为核心版本的一部分,我就一直在考虑这个问题。但是由于您的问题似乎是面向构建的,所以它可以在用户不需要使用子repo的情况下实现。他们仍然会从头部(整个目录)提取数据,并获得实际设置。只要他们从顶部推动,一切都应该是透明的。无论如何,我希望你能成功,因为VSS是一种痛苦!我已经想到了这一点,但由于我将向团队的其他成员介绍Mercurial,我正试图限制我们必须依赖的核心产品的修改数量。一旦它成为核心版本的一部分,我就一直在考虑这个问题。但是由于您的问题似乎是面向构建的,所以它可以在用户不需要使用子repo的情况下实现。他们仍然会从头部(整个目录)提取数据,并获得实际设置。只要他们从顶部推动,一切都应该是透明的。无论如何,我希望你能成功,因为VSS是一种痛苦!我们被请来了。请参阅以获取指向可实现所请求目标的扩展的链接。请在中重新询问。请参阅,以获取指向实现所请求目标的扩展的链接。