With the help of this post by Rob Sobers, I have set up my group of projects as a hierarchy of subrepositories and locally, on my own PC, everything seems to work so far. However, I'm having problems when I try to push my changesets to Kiln.
For example, I have a directory structure which looks something like this:
\Code\Visual Studio 2008\Projects\nCore (contains the Visual Studio project)
\Code\Source\Fortran\nCore (contains the actual source code, which is also used by other projects and makefiles)
[No snide comments about Fortran please; it's parallelised Fortran 2003 and runs blazingly fast.]
The \Fortran\nCore directory contains a repository which is linked to its counterpart in Kiln; the \Projects\nCore directory contains a repository of its own which is also linked to a counterpart in Kiln, PLUS a clone of the \Fortran\nCore repository which is identified as a sub-repository. The line in .hgsub is:
nCore = ..\..\..\Source\Fortran\nCore
Everything works until I try to push from the project directory:
> hg push https://my-account.kilnhg.com/Repo/nCore/nCore/Visual-Studio-Projects
pushing to https://my-account.kilnhg.com/Repo/nCore/nCore/Visual-Studio-Projects
pushing subrepo nCore to https://my-account.kilnhg.com/Repo/nCore/nCore/Visual-Studio-Projects/..\..\..\Source\Fortran\nCore
abort: HTTP Error 404: Not Found
If I understand correctly, the problem is that the 'parent repository' doesn't know where to push the subrepository to, and seems to send it straight to Kiln with a path that Kiln doesn't recognise because Kiln just has two separate standlone repositories - Visual-Studio-Projects and Fortran - and doesn't know that one is a subrepository of the other.
So, to cut to the chase: how do I tell Kiln that my 'Fortran' repository is a subrepository of 'Visual-Studio-Projects' (as well as several other projects)? I've been playing around with the 'Organise' and 'Configure' menus but haven't seen anything that looks like it does what I'm after. Or indeed, am I doing this completely wrong and need to start again?