You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mepo group create group-name repository [repository ...]
Create a group of repositories
positional arguments:
group-name name of group
repository repository that is part of the group
This might be useful for maintaining consistency across a repository hierarchy. For example, if we were make changes in GOCART (a la #288), we might do
GOCART steps
Local
(Local) Step 0: Create hierarchical group
mepo group create h-gocart GOCART GEOSchem_GridComp GEOSgcm_GridComp GEOSgcm_GridComp
(Local) Step 1: Create branch in GOCART and its upstream repositories
Commit all changes to feature/<user>/gocart/some-change in GOCART and its upstream repositories
mepo commit -m "message" --group h-gocart
(Local) Step 3: Save current state and update registry
mepo save --group h-gocart
save ensures that all repositories, that are part of h-gocart, are clean, i.e. all sources have been committed to a branch. It then writes a new state file in .mepo and updates the registry (components.yaml).
(Local) Step 4: Push all changes
Push `feature//gocart/some-change from GOCART and its upstream repositories to remote
mepo push --group h-gocart
Note
We can further simplify the command by defining a context
Arlindo did look into this prior to proposing the "man pages" you have for HEPO. I don't recall which aspects led him to want to develop a separate tool, but my memory is that he thought gita was a great proof of concept.
gita
(https://github.com/nosarthur/gita) has the concept of repo groups and context. Essentially one can define a repo-group and executegita
commands on this group. This might be helpful when working with several related repositories.https://github.com/nosarthur/gita?tab=readme-ov-file#define-repo-group-and-context.
This might be useful for maintaining consistency across a repository hierarchy. For example, if we were make changes in GOCART (a la #288), we might do
GOCART steps
Local
(Local) Step 0: Create hierarchical group
(Local) Step 1: Create branch in GOCART and its upstream repositories
(Local) Step 2: Modify GOCART files and commit
Commit all changes to
feature/<user>/gocart/some-change
in GOCART and its upstream repositoriesmepo commit -m "message" --group h-gocart
(Local) Step 3: Save current state and update registry
save
ensures that all repositories, that are part ofh-gocart
, are clean, i.e. all sources have been committed to a branch. It then writes a new state file in.mepo
and updates the registry (components.yaml
).(Local) Step 4: Push all changes
Push `feature//gocart/some-change from GOCART and its upstream repositories to remote
Note
We can further simplify the command by defining a context
Then the
mepo
commands from earlier becomeand apply to each member of
h-gocart
.The text was updated successfully, but these errors were encountered: