Replacing the forest extension with core functionality

Adrian Buehlmann adrian at cadifra.com
Tue Apr 8 13:57:42 CDT 2008


On 08.04.2008 01:09, Bryan O'Sullivan wrote:
> I've written up a sketch on the wiki:
> http://www.selenic.com/mercurial/wiki/index.cgi/NestedRepositories

Ok, I'm referring to
http://www.selenic.com/mercurial/wiki/index.cgi/NestedRepositories?action=recall&rev=16

I try to rephrase how I understand this:

So the basic idea is to provide versioning of a tree of files
by using the store from *multiple* .hg directories as opposed
to a current (Mercurial 1.0) repository which has a working directory
that is fed by just a *single* local .hg directory.

First, we have the "parent" (or is it a "parent module"? -- there might be
some confusion with the term "parent changeset" if just say "parent"...).

Let's assume we have a parent module P. So the directory structure is

somedir/P/:
  .hg/
  .hgmodules
  <working dir of P>

where the "working dir of P" (a set of files and directory trees) consists of:

  <working dir content fed by P/.hg/>
  <working dir content fed by the submodules of P, as specified in P/.hgmodules>

and .hgmodules contains a list of the submodules of P, each with the following
information:

 a) location where to find the store for that submodule (its .hg)
 b) information where to put the checked out tree of that submodule,
    relative to P's working directory

So the checked out tree of a submodule resides inside a subdirectory
in P/, so if I use some example directory names, the structure is:

somedir/P/:
  .hg/
  .hgmodules
  <working dir content fed by P/.hg>
  submodule1/
  submodule2/
  submodule3/

with .hgmodules containing:

'''
[submodule1]
..

[submodule2]
..

[submodule3]
..
'''


More information about the Mercurial-devel mailing list