Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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

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
Svn 子存储库或guestrepo中的Mercurial部分克隆_Svn_Mercurial_Svn Externals_Mercurial Subrepos_Hgsubversion - Fatal编程技术网

Svn 子存储库或guestrepo中的Mercurial部分克隆

Svn 子存储库或guestrepo中的Mercurial部分克隆,svn,mercurial,svn-externals,mercurial-subrepos,hgsubversion,Svn,Mercurial,Svn Externals,Mercurial Subrepos,Hgsubversion,是否可以将mercurial存储库作为子存储库或guestrepo进行部分克隆 说明: 在https://blah/hg/foo/名为foo和另一个名为cat的repo,我想从foo下的某个目录,例如从foo:/a/b/c/中的c创建一个cat中的guestrepo 据我所知,c不是一个独立的存储库。假定对foo进行只读访问 我的目的是在foo:/a/b/c/发生变化时更新cat:/d/e/c/,客人的位置。这被认为是与svn中的svn:externals类似的行为 来宾扩展: 我开始尝试以下方

是否可以将mercurial存储库作为子存储库或guestrepo进行部分克隆

说明: 在
https://blah/hg/foo/
名为
foo
和另一个名为
cat
的repo,我想从
foo
下的某个目录,例如从
foo:/a/b/c/
中的
c
创建一个
cat
中的guestrepo

据我所知,
c
不是一个独立的存储库。假定对
foo
进行只读访问

我的目的是在
foo:/a/b/c/
发生变化时更新
cat:/d/e/c/
,客人的位置。这被认为是与
svn
中的
svn:externals
类似的行为

来宾扩展: 我开始尝试以下方法:

.hggrmapping

c = https://blah/hg/foo
.hgguestrepo

/d/e/c/ = ??? ???
问题是我不知道如何引用子目录,因为我不需要整个
foo
存储库,只需要这个目录及其内容

据了解,mercurial中未实现子目录的部分克隆/克隆(自2012年起已关闭)。这就是为什么,

子存储库: 目前,我求助于使用,因为恰好
c
目录存在于svn镜像中

.hgsub:

/d/e/c = [svn]https://dog/svn/a/b/c/
这有一个缺点,我不想依赖外部版本控制,即svn、存储库和工具可用性


这完全可以在mercurial中处理吗?

有一种方法,但这需要远程存储库也安装它。更棘手但显而易见的方法是将
c/
dir转换为单独的回购,将其链接到
foo
(删除原始c/)和
cat