I know multiple similar themed addons can share a repo, thinking of Ace3 as the example here. When an author wants Ac3 components in his addon, he uses the pkgmeta and references only the components needed.
Having checked the repo, all I can find directly is Ace3/mainline, but I know there is Ace3/AceComm-3.0, etc. because you can directly retrieve them in the pkgmeta.
Is the way to do this simply to create the repo, then as I build modules, append their name to the end of the repo's name when I do a commit?
Ace3 is a single addon that loads all the Ace3 libraries. The individual libraries (AceComm, AceAddon, AceDB) are in subfolders, similar to how an addon might have the main Lua files in the root directory, then a subfolder for embedded libraries and locale files.
The pkgmeta file just references these subfolders when addons pull the specific libraries they need.
There is nothing special about this, and these are not multiple repositories or multiple projects. They are simply files inside folders inside the trunk. There is no difference between the Ace3 project structure and the Grid project structure:
As far as Subversion or WowAce is concerned, everything is just a file. You could use .pkgmeta directives (or SVN externals) to check out or embed only the contents of svn://svn.wowace.com/wow/grid/mainline/trunk/Statuses if you wanted, just like you typically do with svn://svn.wowace.com/wow/ace3/mainline/trunk/AceAddon-3.0.
If you have multiple addons, they should each be in their own repository under their own project. Even if they are "modules" for each other, if they are intended to be distributed separately, or usable separately, they should be separate projects/repositories. Technically, so should Ace3, but since Ace and Ace2 were both "frameworks" in which all of the parts were hopelessly interdependent and mostly unusable without each other, I'd guess that all of the Ace3 libraries got lumped together simply because "that's how it's always been" and nobody wanted (or thought) to break with tradition.
Ah, that makes sense. Of course it would be simple, and I would over-complicate it. So the follow up question is about framework addons. There are a few in various stages in development for Rift, and I've seen a couple of new ones for WoW recently. If the framework addons are dependent on each other, use one repo, as Ace3 does; and if they are only tied together via name or some other loose method, and do not expressly require each other, then it is a better idea to make separate repositories?
Ace3 is definitely unique. Some modules can be loaded by themselves, and others require other Ace3 modules.
Ace3 should not be used as an example for how to set up a repository.
It is fine for a library to depend on another; they do not need to be in the same repository or part of the same "project" to depend on each other or share functionality with each other. For example, many libraries depend on CallbackHandler-1.0, but they are not in the same repository as CBH, nor are they part of the same project. LibDogTag-Unit-3.0 depends on LibDogTab-3.0, but is managed as a separate project with its own repository. All of the DataStore_* libraries have their own project pages and repositories.
If two or more libraries are interdependent and designed to always be used together, the way Ace2 was, then they should be in the same repository and managed as a single project, but I think that this is a pretty uncommon situation. Most libraries, or families of libraries, are designed to be usable independently, so that nobody has to run 500kb of library code when only 10k of that code is relevant to their needs.