Releases: GEOS-ESM/mepo
Fixes for whereis and diff
Fix for moving fixtures
This release has some bugfixes and new features:
- Updates to allow mepo clones to be moved (#106)
- A bit of nicety on
mepo status
for detatched HEAD states - 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
The mepo save
command had some issues exposed in recent testing.
- 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 mepo save
did not handle hashes well. There is no reason it couldn't save to a hash, but it labeled it as abranch
in the yaml file which, while not broken, was in consistent.
Add dry-run for checkout-if-exists
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
Add tag commands and per-component branch list
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
- This can be run on all repos or
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
- This has both a
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
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
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