> On Aug 31, 2020, at 8:24 AM, Ralph Goers <ralph.go...@dslextreme.com> wrote: > > > >> On Aug 31, 2020, at 7:01 AM, Gary Gregory <garydgreg...@gmail.com> wrote: >> >> My target use case here is: I want an easy way to work on all of Commons in >> a new VM or a new machine, so I'd like to be able to check out all of >> Commons in one go from any level for example here is an imaginary git >> submodule tree: >> - Apache Commons, a git repo with submodules: >> - - Apache Commons Proper, a git repo with submodules: >> - - - Apache Commons Lang >> - - - etc >> - - Apache Commons Sandbox, a git repo with submodules: >> - - - etc >> >> Right now I am checking out each and every repo one at a time. Yes, we >> could stash OS-specific scripts some place. >> >> I was hoping to start at the Apache Commons Proper level. If I need a >> script to update each submodule to the latest HEAD, then this is less >> elegant but understandable from a git POV. >> >> Maybe there is a git shorthand for this… >> > > I do this at work but we use BitBucket. It has the concept of projects and > repos live under projects. So I wrote scripts that use the REST API to > determine all the repos under and project and then use the git command to > clone them all. Once you have them under a single directory it is easy to > write a script to do git pull on all of them to keep them updated. IntelliJ > also supports loading them all into a single window. > > I believe Git supports labels or something. I know that the ASF knows that > each repo belongs to a specific project so I would be surprised if you > couldn’t accomplish something similar to what I have done using that > information.
The .asf.yaml file that can be placed in every repo allows you to specify repository metadata. See https://cwiki.apache.org/confluence/display/INFRA/git+-+.asf.yaml+features#git.asf.yamlfeatures-Repositorymetadata <https://cwiki.apache.org/confluence/display/INFRA/git+-+.asf.yaml+features#git.asf.yamlfeatures-Repositorymetadata> Ralph