Configurando uma caixa e configuração do Vagrant baseado em Linux, estou analisando o seguinte problema:
Durante o estágio de provisão, estou instalando o Subversion. Gostaria de, também durante o estágio de provisionamento, editar o arquivo ~/.subversion/servers
para que ele obtenha as configurações de proxy necessárias.
Eu sei como fazer isso (usando sed
), no entanto, há um problema.
~/.subversion
não existe neste momento.
O diretório ~/.subversion
não é realmente criado até que você primeiro chame svn info
, svn status
ou o que for.
Então adicionei ao meu arquivo Vagrantfile ...
config.vm.provision "shell", inline: "svn info 2>/dev/null"
... e o comando é executado (com erro, pois obviamente não há diretório de trabalho para chamar info
on) ...
==> default: Running provisioner: shell...
default: Running: inline script
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.
... mas ainda não há ~/subversion
.
Eu não entendo muito bem porque svn info
, que faz o truque (de configurar ~/.subversion
) funciona bem quando estou logado na máquina virtual (via vagrant ssh
), mas falha quando executado durante o provisionamento conforme exibido acima.
Como posso inicializar ~/.subversion
durante o estágio de provisionamento do Vagrant (sem acessar um repo real)?