I read the tutorial many times and I feel that I am still missing something. I'll just try to give a concrete scenario. Please help me find where I'm wrong.
Suppose I have a repository which everyone considers as "central". This means that every new developer clones from it and pull/push from/to it. Central contains three folders-
- Infra (which is about to be a shared code)
- .hg
- infra.txt
- dev1
- dev1.txt
- .hgsub (in which there's a line --> infra = (path of infra) )
- infra (subrepo)
- .hg
- infra.txt
- dev2
- dev2.txt
- .hgsub (the same as in dev 1 - infra = (path to infra) )
- infra (subrepo)
- .hg
- infra.txt
Now, suppose that one developer clones dev1, and another one clones dev2. What I see is that when the developer of dev1 changes infra and pushes the changes to the repository in central, the only way of dev2 developer to know about the change in infra is to manually search for incoming change-sets in infra as a sub-repository. Generally, It means that if my project has many sub-repositories (that may themselves contain some more sub-repositories) , I have no way to know about the changes except for going over my sub-repositories manually.
I think that's not the way to work... Can anyone help?
Thanks in advance,
Eyal