leap_cli: checkout commit pinned via platform.ENV.json
I try to pin the leap_platform to a specific commit in provider.unstable.json in our pixelated provider config repo:
cat provider.unstable.json { "platform": { "branch": "develop", "commit": "0215d430334b5f155dc0f6c193ed0103672d3069" } }
this is one commit behind the latest head of develop.
leap_cli detects that the platform checkout is not at the same commit as pinned, and asks me if i like to proceed:
--- pixelated-environments/pixelated-project.org ‹master* M⁇› » leap -v 9 deploy unstable = read /home/varac/thoughtworks/git/pixelated-environments/pixelated-project.org/Leapfile = read /home/varac/.leaprc = leap command v1.6.3 (develop b1d277f5d58bc5aeef3c024ca7e2b45a0e2edb83) = leap platform v0.7 (develop eeb5fd763d7f78d6dcff252981cc9e38dd446fa6) = ran git submodule sync 2>&1 = ran git submodule status 2>&1 = loading /home/varac/leap/git/leap_platform/provider_base/services/webapp.json = loading /home/varac/leap/git/leap_platform/provider_base/services/openvpn.json = loading /home/varac/leap/git/leap_platform/provider_base/services/mx.json = loading /home/varac/leap/git/leap_platform/provider_base/services/obfsproxy.json = loading /home/varac/leap/git/leap_platform/provider_base/services/tor.json = loading /home/varac/leap/git/leap_platform/provider_base/services/soledad.json = loading /home/varac/leap/git/leap_platform/provider_base/services/_couchdb_multimaster.json = loading /home/varac/leap/git/leap_platform/provider_base/services/monitor.json = loading /home/varac/leap/git/leap_platform/provider_base/services/_couchdb_mirror.json = loading /home/varac/leap/git/leap_platform/provider_base/services/static.json = loading /home/varac/leap/git/leap_platform/provider_base/services/couchdb.json = loading /home/varac/leap/git/leap_platform/provider_base/services/dns.json = loading /home/varac/leap/git/leap_platform/provider_base/services/_couchdb_master.json = loading /home/varac/leap/git/leap_platform/provider_base/tags/development.json = loading /home/varac/leap/git/leap_platform/provider_base/tags/local.json = loading /home/varac/leap/git/leap_platform/provider_base/tags/production.json = loading /home/varac/leap/git/leap_platform/provider_base/common.json = loading /home/varac/leap/git/leap_platform/provider_base/provider.json = loading nodes/unstable1.json = loading nodes/dev1.json = loading common.json = loading secrets.json = loading default environment... = loading tags/unstable.json = loading tags/dev.json = loading provider.json = loading unstable environment... = loading provider.unstable.json = loading dev environment... = loading provider.dev.json = loading development environment... = loading local environment... = loading production environment... = loading /home/varac/leap/git/leap_platform/provider_base/services/_couchdb_multimaster.json = ran git log --pretty='format:%H' '0215d430334b5f155dc0f6c193ed0103672d3069' 2>&1 The platform is pinned via the `platform.commit` property in provider.unstable.json to a commit in the range 0215d430334b5f155dc0f6c193ed0103672d3069, but the current HEAD (eeb5fd763d7f78d6dcff252981cc9e38dd446fa6) is not in that range. Do you really want to deploy from the wrong commit?
it would be great if leap_cli would be able to checkout the specified commit, update the submodules and deploy (after confirmation).
Also, the terminology is confusing:
The platform is pinned via the `platform.commit` property in provider.unstable.json to a commit in the range 0215d430334b5f155dc0f6c193ed0103672d3069, but the current HEAD (eeb5fd763d7f78d6dcff252981cc9e38dd446fa6) is not in that range.
"in the range 0215d430" does not specify a range, but a single commit (and the documentation also speaks about pinning a specific commit).
(from redmine: created on 2015-04-02)