Well, after many hours of reading and trial and error, it has finally hit me. Mercurial doesn't really want to do SubRepos...at least not with TortoiseHg and Bitbucket. If I am mistaken, and you don't want a down vote for a rude response similar to "of course it works, didn't you read the official docs", then please provide a simple example of how to do so via TortoiseHg latest that will successfully push to Bitbucket. Maybe a open source project that utilizes mercurial and bitbucket and subrepos?
All that said, if we keep our class libraries in seperate repos, and the recommended approach is to not use subrepos ("as a last resort"), what is the recommended way to capture a version for all dependent mercurial repos whereby i can quickly jump all dependency repos to the correct version for bug fixes and the like.
I suspect I would use Tags to tag a version. So, is the recommended way to manually go to all libraries and tag each repo with the common version tag and then revert back to that tag for all assemblies, manually?
Please refrain from all the of the technical jargon about the complexities of workflow management. There is a ton of great reading regarding this on SO. I am hoping for a simple single main exe project with a few DLL class libraries.
Thanks to @SteveKaye, I have a working solution. When using TortoiseHg to "Add a subrepository", TortoiseHg was formatting the .hgsub file like this
subrepo = subrepo
instead of like his example
subrepo = ../subrepo
If someone would like to comment why the relative "../" is required, that would be great. My directory structure is the following:
MainRepo/
.hgsub
SubRepo/
SubRepo2/
if "../SubRepo" is relative to .hgsub, wouldn't the ../ go up one directory and then look for the folder called SubRepo? Oh well, I can conform :) or be corrected if ../
Having Steve's example helped me to see what was off.
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