What happens if there is already a Mercurial repository 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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With