Skip to content

Releases: GEOS-ESM/mepo

Add tag support to checkout-if-exists

10 Aug 12:56
50e0c2d
Compare
Choose a tag to compare

DOI

This release now allows for checkout-if-exists to work on tags or branches. For a branch:

❯ mepo checkout-if-exists feature/mathomp4/add-shared-baselibs-support -n
Branch feature/mathomp4/add-shared-baselibs-support exists in env
Branch feature/mathomp4/add-shared-baselibs-support exists in cmake
Branch feature/mathomp4/add-shared-baselibs-support exists in MAPL
Branch feature/mathomp4/add-shared-baselibs-support exists in GEOSgcm_GridComp

and for a tag:

❯ mepo checkout-if-exists sdr_r21c_v01 -n
Tag sdr_r21c_v01 exists in GEOSgcm_GridComp
Tag sdr_r21c_v01 exists in GEOSgcm_App

Before tags were just ignored.


From CHANGELOG.md

Changed

  • Allow checkout-if-exists to work on tags or branches

What's Changed

Full Changelog: v1.44.0...v1.45.0

Add typechange support

28 Apr 17:35
1310b69
Compare
Choose a tag to compare

DOI

This release adds support for typechange commits. At the moment, mepo status will say:

GOCART      | (b) main
   | ESMF/GOCART2G_GridComp/DU2G_GridComp/AMIP.20C/DU2G_instance_DU.rc: unknown (please contact mepo maintainer)

because it doesn't know about this. But with this releas we can now translate those:

GOCART      | (b) main
   | ESMF/GOCART2G_GridComp/DU2G_GridComp/AMIP.20C/DU2G_instance_DU.rc: typechange, staged but deleted, not staged

Note this might not be a complete support for typechange, but at least should cover the "main" commits.


From CHANGELOG.md

Fixed

  • Add support for typechange in mepo status

What's Changed

Full Changelog: v1.43.0...v1.44.0

Fixes for mepo clone

18 Apr 19:14
63496f7
Compare
Choose a tag to compare

DOI

This release fixes a bug in mepo clone.

First, it makes the error a bit more clear when you try to mepo clone in a fixture already cloned (see #224):

$ mepo clone [email protected]:GEOS-ESM/MAPL.git
Initializing mepo using components.yaml
ESMA_env   | (t) v3.11.0
ESMA_cmake | (t) v3.10.0
ecbuild    | (t) geos/v1.2.0
$ cd MAPL
$ mepo clone
fatal: destination path '/Users/mathomp4/Models/MAPL/ESMA_env' already exists and is not an empty directory.

Error! Repo [ESMA_env] already cloned

Note it will always error out with the first repo mepo tries to clone again.

But, it also fixes a bug where you could re-mepo clone in any subdirectory! For example this:

$ mepo clone [email protected]:GEOS-ESM/MAPL.git
Initializing mepo using components.yaml
ESMA_env   | (t) v3.11.0
ESMA_cmake | (t) v3.10.0
ecbuild    | (t) geos/v1.2.0
$ cd MAPL/shared
$ mepo clone
ESMA_env   | (t) v3.11.0
ESMA_cmake | (t) v3.10.0
ecbuild    | (t) geos/v1.2.0

should be an obvious failure. But, nope, there was a bug in the code such that what you'd get is an entire new set of subrepos in that subdirectory!

Now the failure is caught:

$ mepo clone [email protected]:GEOS-ESM/MAPL.git
Initializing mepo using components.yaml
ESMA_env   | (t) v3.11.0
ESMA_cmake | (t) v3.10.0
ecbuild    | (t) geos/v1.2.0
$ cd MAPL/shared
$ mepo clone
fatal: destination path '/Users/mathomp4/Models/MAPL/ESMA_env' already exists and is not an empty directory.

Error! Repo [ESMA_env] already cloned

What's Changed

Full Changelog: v1.42.0...v1.43.0

Add ability to ignore whitespace with diff

29 Mar 19:04
fbc77d4
Compare
Choose a tag to compare

DOI

This release adds a -b/--ignore-space-change flag to the mepo diff command, a la git diff -b. This allows diffing to ignore whitespace changes.


What's Changed

Full Changelog: v1.41.0...v1.42.0

Make compare brief by default

25 Mar 16:01
d8d2abc
Compare
Choose a tag to compare

This release changes the default behavior of mepo compare. Now, mepo compare will only show differing repos:

❯ mepo compare
Repo                   | Original                         | Current
---------------------- | -------------------------------- | -------
env                    | (t) v3.11.0 (DH)                 | (b) main
cmake                  | (t) v3.10.0 (DH)                 | (b) develop
MAPL                   | (t) v2.17.2 (DH)                 | (b) develop

To see all repos, use --all:

❯ mepo compare --all
Repo                   | Original                         | Current
---------------------- | -------------------------------- | -------
GEOSgcm                | (b) main                         | (b) main
env                    | (t) v3.11.0 (DH)                 | (b) main
cmake                  | (t) v3.10.0 (DH)                 | (b) develop
ecbuild                | (t) geos/v1.2.0 (DH)             | (t) geos/v1.2.0 (DH)
NCEP_Shared            | (t) v1.2.0 (DH)                  | (t) v1.2.0 (DH)
GMAO_Shared            | (t) v1.5.1 (DH)                  | (t) v1.5.1 (DH)
MAPL                   | (t) v2.17.2 (DH)                 | (b) develop
FMS                    | (t) geos/2019.01.02+noaff.7 (DH) | (t) geos/2019.01.02+noaff.7 (DH)
GEOSgcm_GridComp       | (t) v1.15.0 (DH)                 | (t) v1.15.0 (DH)
FVdycoreCubed_GridComp | (t) v1.6.0 (DH)                  | (t) v1.6.0 (DH)
fvdycore               | (t) geos/v1.3.0 (DH)             | (t) geos/v1.3.0 (DH)
GEOSchem_GridComp      | (t) v1.8.1 (DH)                  | (t) v1.8.1 (DH)
HEMCO                  | (t) geos/v2.2.2 (DH)             | (t) geos/v2.2.2 (DH)
geos-chem              | (t) geos/v13.0.0-rc1 (DH)        | (t) geos/v13.0.0-rc1 (DH)
GOCART                 | (t) v2.0.4 (DH)                  | (t) v2.0.4 (DH)
mom                    | (t) geos/5.1.0+1.2.0 (DH)        | (t) geos/5.1.0+1.2.0 (DH)
mom6                   | (t) geos/v2.0.2 (DH)             | (t) geos/v2.0.2 (DH)
RRTMGP                 | (t) geos/v1.5+1.0.0 (DH)         | (t) geos/v1.5+1.0.0 (DH)
GEOSgcm_App            | (t) v1.7.0 (DH)                  | (t) v1.7.0 (DH)
UMD_Etc                | (t) v1.0.4 (DH)                  | (t) v1.0.4 (DH)
CPLFCST_Etc            | (t) v1.0.1 (DH)                  | (t) v1.0.1 (DH)

If no repos differ, you see:

❯ mepo compare
No repositories have changed
❯ mepo compare --all
No repositories have changed

What's Changed

Full Changelog: v1.40.0...v1.41.0

Fix for compare and add ignore-case to whereis

12 Jan 20:07
cf43bd8
Compare
Choose a tag to compare

DOI

This release has a few updates.

First, a bugfix to mepo compare where the table layout was broken in 1.39.0. The new hashes-for-detached-branches messed up the logic for pretty printing the table.

Next, mepo whereis has a new --ignore-case option. Before you had to know the exact case of component's name for mepo whereis to work:

mepo whereis mapl
Traceback (most recent call last):
  File "/Users/mathomp4/bin/mepo", line 17, in <module>
    main()
  File "/Users/mathomp4/mepo/mepo.d/main.py", line 6, in main
    command.run(args)
  File "/Users/mathomp4/mepo/mepo.d/command/command.py", line 11, in run
    cmd_module.run(args)
  File "/Users/mathomp4/mepo/mepo.d/command/whereis/whereis.py", line 15, in run
    verify.valid_components([args.comp_name], allcomps, ignore_case=args.ignore_case)
  File "/Users/mathomp4/mepo/mepo.d/utilities/verify.py", line 23, in valid_components
    _validate_component(component_to_find, all_component_names)
  File "/Users/mathomp4/mepo/mepo.d/utilities/verify.py", line 35, in _validate_component
    raise Exception('Unknown component name [{}]'.format(component))
Exception: Unknown component name [mapl]mepo whereis MAPL
Shared/@MAPL

With the option this is not the case:

mepo whereis -i mapl
Shared/@MAPL

The main use of this is in mepo-cd which now defaults to case-insensitive use so mepo-cd mapl will work.


What's Changed

Full Changelog: v1.39.0...v1.40.0

Display hash of detached branches and ignore permissions for diff and status

10 Jan 15:32
5021752
Compare
Choose a tag to compare

DOI

This release of mepo adds some functionality to status and diff.

First, when running mepo compare and mepo status, detatched branches will also display the commit id:

GEOSgcm_GridComp       | (b) feature/aogcm (DH, 0793f7b2)

to allow users a better idea of where detached branches are.

Second, new options were added to status and `diff:

  • Added --ignore-permissions flag to status and diff to allow the commands to ignore permissions changes
  • Add --name-status flag to mepo diff

What's Changed

Full Changelog: v1.38.0...v1.39.0

Detach branches on clone

15 Nov 13:00
cb349eb
Compare
Choose a tag to compare

This update of mepo detaches branches on clone. This was always the intent of mepo but was broken at some point.

Also adds --detach as an option to checkout commands since the ability is there now.

Finally, adds a CHANGELOG.

What's Changed

Full Changelog: v1.37.1...v1.38.0

Fix for mepo save

02 Sep 17:15
e00ecca
Compare
Choose a tag to compare

DOI

This release has a fix for mepo save

Allow checkout -b on all repos, fix path handling

19 Aug 16:15
e3d084b
Compare
Choose a tag to compare

DOI

This release to mepo:

  • Allows mepo checkout -b <branch> to run on all repos rather than requiring one to be specified
  • Fixes a bug in handling paths with spaces in folder names