开发者

Can Mercurial repositories be nested?

What happens if there is already a Mercurial repos开发者_运维技巧itory at

/User/peter/development

and now I want to add a repository for

/User/peter

because I also want to version .bashrc, .profile, or maybe /User/peter/notes as well. Will having a repository above an already existing repository create conflicts for Mercurial?


Everything will be okay.

It seems that Mercurial is smart enough to ignore subdirectories which already have repositories in them. Here's a conversation with it:

$ mkdir outer
$ mkdir outer/inner
$ mkdir outer/sub
$ echo red >outer/red.txt
$ echo blue >outer/inner/blue.txt
$ echo green >outer/sub/green.txt
$ cd outer/inner/
$ hg init
$ hg add
adding blue.txt
$ hg commit -m "create inner"
$ cd ..
$ hg init
$ hg add
adding red.txt
adding sub/green.txt
$ hg commit -m "create outer"
$ hg status
A red.txt
A sub/green.txt
$ hg commit -m "create outer"

As you can see, when i add to the outer repository, it ignores the inner directory.

If you wanted to be extra sure, you could add the inner directory to your .hgignore.


There is a "subrepositories" feature that was added to Mercurial in version 1.3, and is supported in 1.5, which allows some hg commands to act on nested repositories recursively.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜