小编use*_*784的帖子

subrepo,hg clone和symlinks

我对mercurial很新,我在这个主题上已经阅读了很多,但我一直无法找到明确的答案.

mercurial指南说:"为了提高效率,只要源和目标位于同一文件系统上,就会使用硬链接进行克隆(请注意,这仅适用于存储库数据,而不适用于工作目录)."

库wiki页面说:"所有的文件和与存储库中的根目录.hg共存目录被认为生活在工作目录".

现在,要在主回购中"链接"subrepo我做:

hg init main
cd main
echo subrepo = ../subrepo > .hgsub
hg clone ../subrepo subrepo           # (1)
hg add
hg ci -m "initial rev of the main repo"
Run Code Online (Sandbox Code Playgroud)

难道上述定义意味着我真正创建一个副本subrepo时候进行(1)?? 或者我只创建一个符号链接../subrepo?根据输出ls,它是一个实际的副本.但这对我来说听起来很奇怪......如果有人能对这个问题有所了解,我会很感激.

mercurial subrepos

9
推荐指数
1
解决办法
2131
查看次数

在特定分支的当前修订版中的mercurial subrepos

我对mercurial很新,我已经阅读了很多关于这个主题的主题,但我仍然无法理解我是否能够实现我想要做的事情.

基本上我有兴趣在一个主存储库中克隆一个分支的当前版本,并在一个命令中对其子版本进行克隆(作用于主存储库).我会尝试在一瞬间更好地解释它.

假设我将代码分成模块(下例中只有一个模块).我希望将每个模块放在自己的存储库中,并将一个主存储库(具有.hgsub的存储库)作为粘合剂来保留所有子存储库.主仓库只包含.hgsub和一个脚本,该脚本(1)hg archive预定义目录中的每个子目录,以及(2)执行代码的源外构建.所有开发,提交,推送,拉取,合并都在单个子库中完成.

# create a module (subrepo of the master)
hg init subrepo
cd subrepo/
echo "a file" > aFile.c
echo "another file" > anotherFile.txt
hg add
hg ci -m "initial rev of subrepo"

# create the main (master) repo & add the reference to subrepo
cd ../
hg init main
cd main
hg clone ../subrepo subrepo
echo subrepo = ../subrepo > .hgsub
echo hg archive and out-of-source build > build.script
hg add
hg ci -m …
Run Code Online (Sandbox Code Playgroud)

mercurial branch subrepos

3
推荐指数
1
解决办法
2734
查看次数

标签 统计

mercurial ×2

subrepos ×2

branch ×1