Releases: GEOS-ESM/mepo
Add tag support to checkout-if-exists
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
- Allow checkout-if-exists to work on tags by @mathomp4 in #232
- Merge develop into main for release. by @mathomp4 in #233
Full Changelog: v1.44.0...v1.45.0
Add typechange support
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
- Fixes #228. Add typechange support by @mathomp4 in #229
- Merge Develop into Main for release by @mathomp4 in #230
Full Changelog: v1.43.0...v1.44.0
Fixes for mepo clone
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
- Fixes #224. Fix for running mepo clone more than once by @mathomp4 in #225
- Merge develop into main for release by @mathomp4 in #226
Full Changelog: v1.42.0...v1.43.0
Add ability to ignore whitespace with diff
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
- Add whitespace ignore to diff by @mathomp4 in #221
- Merge develop into main for release by @mathomp4 in #222
Full Changelog: v1.41.0...v1.42.0
Make compare brief by default
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
- Merge main into develop by @mathomp4 in #217
- Make compare brief by default, add --all option by @mathomp4 in #218
- Merge develop into main for release by @mathomp4 in #219
Full Changelog: v1.40.0...v1.41.0
Fix for compare and add ignore-case to whereis
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
- Add ignore-case option to mepo whereis, update mepo-cd by @mathomp4 in #213
- Fix mepo compare output by @mathomp4 in #214
- Merge Develop into Main for release by @mathomp4 in #215
Full Changelog: v1.39.0...v1.40.0
Display hash of detached branches and ignore permissions for diff and status
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 tostatus
anddiff
to allow the commands to ignore permissions changes - Add
--name-status
flag tomepo diff
What's Changed
- Add option to ignore permissions with status and diff by @mathomp4 in #209
- Display detached branches with hash by @mathomp4 in #208
- Update changelog for release by @mathomp4 in #210
- Merge Develop into main for release by @mathomp4 in #211
Full Changelog: v1.38.0...v1.39.0
Detach branches on clone
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
- Merge main back into develop for gitflow by @mathomp4 in #197
- Update LICENSE to Apache, other license changes by @mathomp4 in #199
- Fix license reference in CONTRIBUTING.md by @mathomp4 in #200
- Add changelog and changelog enforcer by @mathomp4 in #204
- Detach branches on clone by @mathomp4 in #205
- Merge Develop into Main for release by @mathomp4 in #206
Full Changelog: v1.37.1...v1.38.0