I have a central codebase, from which I branch subprojects for each client. Right now I have the central codebase in mercurial repo A and client specific code in mercurial repo B, C, D... etc. I would like to limit the visibility of the central codebase to show only the modules needed by that client, so that the client could get access to (one!) full repo, that has all the code he's paid for :)
Is there a better solution besides not giving the client repo access and deploying code without the repo? I use mercurial, but am open to using git.