Estoy usando la herramienta myrepos de joey hess para administrar múltiples repositorys.
En algún momento, me gustaría pasar variables de entorno a acciones y secciones para que se expandan. En particular, estoy pasando cosas como $SYNCTL
, que debe apuntar al directory de nivel superior donde están montados los repositores.
(Tenga en count que esto no tiene nada que ver con el directory de nivel superior a que se refiere myrepos: ese es el directory de nivel superior sobre el que todo debe ignorarse, que es diferente).
Desafortunadamente, esas variables no se están expandiendo.
Por ejemplo, si exporto SYNCTL=/home/myuser
y luego defino el repository:
[$SYNCTL/myrepo]
en .mrconfig
eso nunca se encuentra realmente $SYNCTL
se expande a nada, lo que hace que myrepos busque /myrepo
, que obviamente no existe, por lo que myrepos simplemente ignora esa sección.
También traté de expandir la variable dentro de la sección de repository, así:
[myrepo] status = echo $SYNCTL
pero eso tampoco imprime nada. En este caso, se encuentra el repository, pero se imprime una línea en blanco.
Hay algunas variables que se pueden expandir (como HOME
), pero no todas parecen funcionar. Pensé que tenía algo que ver con --force-env
, pero ejecutar mr --force-env status
no imprime nada tampoco.
¿Hay alguna forma de evitar este problema? Debería haber?
Asegúrese de exportar la variable de entorno SYNCTL
. Por ejemplo, en bash
-alikes, en lugar de
SYNCTL=$HOME/reponame
que solo define una variable local de shell, use
export SYNCTL=$HOME/reponame
para hacer una variable de entorno que será henetworkingada por processs engendrados.