The idea was that when I want to checkout the (code) repo, I would probably also like to initialize the output repo. One way to do that would be using git-submodules. For the output_cache, we now have the cadet-rdm fill-data-from-cadet-rdm-json method to initialize. Does this also already work for output repos?
Also, as previously discussed, git submodules can be a PITA. Here is some information about alternatives:
git-submodule is better when you do not control the subprojects or more specifically wish to fix the subproject at a specific revision even as the subproject changes. git-submodule is a standard part of git and thus would work on windows.
gitslave is useful when you control and develop on the subprojects at more of less the same time as the superproject, and furthermore when you typically want to tag, branch, push, pull, etc all repositories at the same time. gitslave has never been tested on windows that I know of. It requires perl.
git-subtree provides a front-end to git's built-in subtree merge strategy. It is better when you prefer to have a single-repository "unified" git history. Unlike the subtree merge strategy, it is easier to export changes to the different (directory) trees back out to the original project, but it is not as automatic as it is with gitslave or even git-submodule.
repo is in theory similar to gitslave, but not as well documented for non-android operations that I have found. It is fairly dedicated to the Google Android development model and only natively supports a handful of git commands (though you can run arbitrary commands) and the limited native support doesn't support, for example, a centralized repository to push to and checking out a branch seems fairly difficult.
braid: Sounds interesting, more research required.
I still think we should have a look at the other packages to see what kind of functionality they have and whether we can incorporate this into CADET-RDM. Should I open another issue for this or reopen/rename this one?