I\'ve been reading about subrepositories and how to extract an existing folder from a Mercurial repository to a subrepository using the convert extension and a filemap. I can su
Nope, I'm afraid there are no tools that will allow you to split a repository in the way you ask for.
Just to clarify your question, then let us imagine you have a repository where the content of
sub/file.txt evolve like this
root.txt sub/file.txt` 0: root 0 file 0 1: root 1 file 1 2: root 2 file 2
for the first three changesets. What you ask for is an option for
hg convert that would turn this into two repositories (easy, we can do that today) and where the convert extension injects
.hgsubstate files so that the three changesets contain
root.txt .hgsub .hgsubstate | file.txt 0: root 0 sub = sub <X> sub | <X>: file 0 1: root 1 sub = sub <Y> sub | <Y>: file 1 2: root 2 sub = sub <Z> sub | <Z>: file 2
<Z> hashes are the one corresponding to the first three commits in the subrepository.
There is no such option for
hg convert today, but based on the above it sounds feasible to write one. That would give you a great way to convert back and forth between a combined and a split repository.