Git implementa una twig principal o una confirmación o label en particular con el recurso de chef git

He intentado implementar la twig principal en mis serveres de producción con chef, usando git_resource . Aparentemente, siempre despliega el código de la twig de implementación que en realidad no existe en el repository principal de git.

Estoy usando implementar teclas con solo modo de lectura.

git '/path/to/the/dir/' do repository 'git@github.com:example/example.git' revision 'master' checkout_branch 'master' enable_checkout true action :sync user 'ubuntu' group 'ubuntu' end 

Ayúdame, para resolver este problema.

La forma en que funciona el recurso git es tomar el SHA por lo que sea que le des en la revision , verifíquelo en la copy de trabajo y luego establezca un encabezado llamado deploy (o lo que sea checkout_branch configurado) en el SHA. Esto permite una verificación eficiente de las actualizaciones sin dejar el repository en un estado principal separado. Básicamente, simplemente elimine checkout_branch 'master' y obtendrá un repo sincronizado para master cada vez que Chef ejecute. Al establecer la revision y checkout_branch en el mismo valor, se rompe la comprobación de idempotencia.