I have read every question on Mercurial subrepositories that I could and still not sure how it works. We are using hgweb.cgi on IIS so we have http:// paths to all of our r
You can definitely push manually from your LibrariesSubrepo in Project1 to the Libraries repository on the server and then manually pull from Libraries into LibrariesSubrepo in a Project2 clone.
However, you can also link the subrepos on the server:
The share extension lets you create two or more repositories that share a .hg folder. Do this on the server so that the three instances of the subrepo on the server share the .hg folders.
Symlink the .hg folders -- more oldschol and it only works if you're on a server where you can create symlink (Unix servers or Windows Vista and later with the right priviledge).
Keep just one subrepo on the server but expose it three times in the hgweb configuration. Like this:
[paths]
Project1 = /repos/Project1
Project1/LibrariesSubrepo = /repos/Libraries
Project2 = /repos/Project2
Project2/LibrariesSubrepo = /repos/Libraries
In all cases, there are actually only three repositories on the server: Project1, Project2, and Libraries.