Skip to content

Releases: GEOS-ESM/mepo

Adds ability to see fixture

30 Oct 13:18
3fbac80
Compare
Choose a tag to compare

DOI

Note that this release of mepo allows one to see the fixture in mepo, but changes are needed. To see the fixture, the components.yaml needs to have something like:

GEOSadas:
  fixture: true
  develop: main

where the only allowed keys for the fixture are fixture: and develop:. And only one entry in components.yaml can be "the fixture".

As an example, using a (temporary) branch of GEOSadas.git with that entry added:

$ mkdir GEOSadas-with-mepo-fixture-in-repo
$ cd GEOSadas-with-mepo-fixture-in-repo
$ mepo clone -b feature/mathomp4/mepo-fixture-testing [email protected]:GEOS-ESM/GEOSadas.git
Initializing mepo using components.yaml
env                    | (b) origin/feature/bmauer/updates-from-geosadas5_27_0
cmake                  | (t) v1.0.11
ecbuild                | (t) geos/v1.0.0
...
$ cd GEOSadas
$ mepo status
Checking status...
GEOSadas               | (b) feature/mathomp4/mepo-fixture-testing
env                    | (b) feature/bmauer/updates-from-geosadas5_27_0 (DH)
cmake                  | (t) v1.0.11 (DH)
...

So the fixture is seen. Now we'll move up the tree, but do things in the fixture to make sure we are tracking it correctly:

$ mepo-cd GEOSana_GridComp
$ pwd
/discover/swdev/mathomp4/Models/GEOSadas-with-mepo-fixture-in-repo/GEOSadas/src/Components/@GEOSana_GridComp
$ mepo whereis
GEOSadas               | ../../..
env                    | ../../../@env
cmake                  | ../../../@cmake
...
$ mepo checkout -b my-awesome-new-feature GEOSadas
+ GEOSadas: my-awesome-new-feature
$ mepo compare
Repo                   | Original                                            | Current
---------------------- | --------------------------------------------------- | -------
GEOSadas               | (b) feature/mathomp4/mepo-fixture-testing (DH)      | (b) my-awesome-new-feature
env                    | (b) feature/bmauer/updates-from-geosadas5_27_0 (DH) | (b) feature/bmauer/updates-from-geosadas5_27_0 (DH)
cmake                  | (t) v1.0.11 (DH)                                    | (t) v1.0.11 (DH)
...
$ /home/mathomp4/MepoDevelopment/mepo branch list GEOSadas
GEOSadas |   feature/mathomp4/mepo-fixture-testing
         | * my-awesome-new-feature

The new branch is seen, let's make a change:

$ echo "This is a new line" >> $(mepo whereis GEOSadas)/README.md
$ mepo status
Checking status...
GEOSadas               | (b) my-awesome-new-feature
   | README.md: modified, not staged
env                    | (b) feature/bmauer/updates-from-geosadas5_27_0 (DH)
cmake                  | (t) v1.0.11 (DH)
...
$ mepo diff
Diffing...
GEOSadas (location: ../../..):

diff --git a/README.md b/README.md
index 3065294..792630d 100644
--- a/README.md
+++ b/README.md
@@ -188,3 +188,4 @@ cd install/bin
 ### Run the ADAS

 Like the AGCM step above, the ADAS setup scripts are also `install/bin/`
+This is a new line
$ mepo-cd
$ git status
On branch my-awesome-new-feature
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   README.md

no changes added to commit (use "git add" and/or "git commit -a")

Add mepo-cd.csh

30 Oct 12:55
8806e2e
Compare
Choose a tag to compare

DOI

This release adds a mepo-cd.csh that when sourced adds a mepo-cd alias.

Fixes for whereis and diff

30 Oct 12:46
aa883ab
Compare
Choose a tag to compare

DOI

Fixes a few bugs with whereis and diff

Fix for moving fixtures

29 Oct 13:50
9295048
Compare
Choose a tag to compare

DOI

This release has some bugfixes and new features:

  1. Updates to allow mepo clones to be moved (#106)
  2. A bit of nicety on mepo status for detatched HEAD states
  3. Adds mepo-cd.zsh as I couldn't figure out how to get the bash script to work in zsh

Bug fixes and enhancements for mepo save

07 Oct 13:53
cd96ff4
Compare
Choose a tag to compare

DOI

The mepo save command had some issues exposed in recent testing.

  1. The command would save the new yaml file in pwd rather than at the "root" directory where the original was. This was a bit confusing, so the command now saves at root level
  2. mepo save did not handle hashes well. There is no reason it couldn't save to a hash, but it labeled it as a branch in the yaml file which, while not broken, was in consistent.

Add dry-run for checkout-if-exists

01 Sep 15:33
7e018b0
Compare
Choose a tag to compare

DOI

This release adds a --dry-run (or -n) option to checkout-if-exists which lists if a branch exists on a repo without checking out:

❯ mepo checkout-if-exists -n feature/mathomp4/mkl-is-optional
Branch feature/mathomp4/mkl-is-optional exists in cmake
Branch feature/mathomp4/mkl-is-optional exists in NCEP_Shared
Branch feature/mathomp4/mkl-is-optional exists in GEOSgcm_GridComp

Add per-repo diff

26 Aug 19:21
b09c523
Compare
Choose a tag to compare

DOI

This release adds a per-repo diff capability a la:

$ mepo diff <repo>

Before it was only all repos.

Add tag commands and per-component branch list

19 Aug 20:41
64fda06
Compare
Choose a tag to compare

DOI

This release of mepo adds a mepo tag command (with subcommands) as well as an update to mepo branch list.

mepo tag adds these subcommands:

  • mepo tag list ==> git tag
    • This can be run on all repos or mepo tag <repo> for a specifig
  • mepo tag create ==> git tag but actually making a tag (with -a as option)
    • This has both a -a and -m option for annotated tags. If -a is added without -m this will popup an editor
  • mepo tag delete ==> git tag -d
    • This only deletes locally not on the remote

A new mepo push --tags was added to push tags.

Also added was the ability to do mepo branch list <repo> to list branches only on one (or more) repos.

Finally, a .zenodo.json file was added.

Add restore-state

18 Aug 15:33
b4561be
Compare
Choose a tag to compare

DOI

This release adds a mepo restore-state command

With this command, you should be able to restore a checkout to what the original state was. This was a request/idea inspired by @yvikhlya:

❯ mepo compare
Repo       | Original             | Current
---------- | -------------------- | -------
ESMA_env   | (t) v2.1.6 (DH)      | (b) feature/mathomp4/intel1912
ESMA_cmake | (t) v3.1.2 (DH)      | (t) v3.1.2 (DH)
ecbuild    | (t) geos/v1.0.5 (DH) | (t) geos/v1.0.5 (DH)

❯ mepo restore-state
Checking status...
Reverting ESMA_env to v2.1.6

❯ mepo compare
Repo       | Original             | Current
---------- | -------------------- | -------
ESMA_env   | (t) v2.1.6 (DH)      | (t) v2.1.6 (DH)
ESMA_cmake | (t) v3.1.2 (DH)      | (t) v3.1.2 (DH)
ecbuild    | (t) geos/v1.0.5 (DH) | (t) geos/v1.0.5 (DH)

Note: at present this will restore EVERYTHING to the previous state. Not a repo here or there.

Add pull, pull-all, and fetch-all commands

17 Jul 15:59
8280b49
Compare
Choose a tag to compare

DOI

This release adds:

  • mepo pull
  • mepo pull-all
  • mepo fetch-all

Note that since you can't git pull on a detached HEAD state, the pull-all will only pull on real branches. The others will spit out as a print:

❯ mepo pull-all
Pulling branch throw-away in ESMA_env
The following repos were not pulled (detached HEAD): ESMA_cmake, ecbuild

Also fixes the mepo file as, on Darwin, things went kablooey recently with Python 3.8