Para os encantos, publicados na loja de charme oficial ( link ), o número de revisão é escolhido pela loja de charme quando o charme é publicado ( pela primeira vez ou quando uma nova versão é lançada). A loja de charme sempre escolhe uma revisão única para cada charme, e o conteúdo do arquivo de "revisão" não importa. Ao implantar os charms de um repositório local (charms locais), o arquivo de revisão é honrado pelo Juju, se possível. Só pode haver um charme com um determinado nome e número de revisão em qualquer ambiente Juju (ou seja, dentro do banco de dados do estado do mongo). Ao implantar um charme local, Juju tenta respeitar a revisão dentro do charme, mas se isso não for possível (ou seja, quando já existe um charme no estado DB com o mesmo nome e revisão), a última revisão conhecida é incrementada e armazenado. O usuário é notificado sobre a revisão real em que o encanto foi implementado:
- ao usar
juju deploy
da CLI, há uma mensagem dizendoAdded charm "local:<series>/<name>-<revision> to the environment
(por exemplo, "local: accurate / wordpress-123"); - ao usar a GUI Juju, haverá uma maneira semelhante de notificar o usuário (isso está em desenvolvimento agora).
Então, voltando à questão: espera-se que um autor de charme mantenha suas fontes de charme em um sistema de controle de versão em algum lugar, como no launchpad, bitbucket, github etc. Essa é a maneira correta de manter as informações da versão e manter tudo a história. O arquivo de revisão dentro da fonte de charme não garante exclusividade e não fornece uma maneira sólida de se referir a uma versão de charme específica (dentro de um único ambiente ou em vários ambientes usando o mesmo charme).