
Estou trabalhando em um Mac e atualizei recentemente o Xcode, nesta atualização ele instala a versão mais recente subversion 1.9.x
como a instalação principal. Isso seria bom, mas no trabalho usamos 1.8.x
e esta versão mais recente é incompatível.
Idealmente, eu gostaria de mudar o subversion principal de volta para 1.8.x, mas não tenho certeza de como progredir. O que fiz até agora foi instalar a versão correta através do gerenciador de pacotes (Homebrew) no /usr/local/opt/subversion
.
Isso é bom para meu IDE porque posso apontar para a pasta ./bin. Porém, se eu quiser trabalhar no terminal, o que faço com frequência, a versão é 1.9.x.
Como solução alternativa, criei um alias no meu ./bash_profile
exemplo a seguir .alias svn=/usr/local/opt/[email protected]/bin/svn
Agora, quando abro o terminal e executo, svn --version
recebo o seguinte.
svn, version 1.8.16 (r1740329) compiled Apr 2 2017, 22:11:27 on x86_64-apple-darwin15.6.0
O que é perfeito, mas sinto que está faltando alguma coisa, há outros binários que uso de vez em quando e detesto apelidar todos eles. Parece que deveria haver uma maneira melhor, mas não estou muito confiante em mover as coisas no nível raiz.
É possível reatribuir a versão funcional do Subversion. Talvez algo como use svn --path ....
.
Responder1
Durante a edição, anexar a $PATH
variável de ambiente é uma opção em termos de definir a ordem de preferência para os binários que você gostaria de usar. Isto pode não ser totalmente necessário.
Ao executar svn up
a partir do terminal em uma cópia de trabalho com um subversão incompatível, você receberá a seguinte mensagem.
svn: E155036: Please see the 'svn upgrade' command
A experiência anterior de execução cega de comandos me deixa nervoso, mas depois de investigar várias máquinas de colegas de trabalho, fica claro que a incompatibilidade é com a cópia de trabalho e não com o servidor VCS.
Para resolver a incompatibilidade, você pode simplesmente executar svn upgrade
. Depois disso, você poderá executar svn up
e a atualização deverá prosseguir sem problemas.
Se tudo mais falhar, você ainda pode forçar o uso de uma versão específica do svn
binário, definindo o caminho para sua pasta Subversion na $PATH
variável de ambiente.
por exemploexport PATH=/usr/local/opt/[email protected]/bin:/usr/bin:/bin:$PATH
O que eu realmente não perdi tempo para entender até agora é que $PATH
contém a localização de quaisquer binários que você deseja que sejam acessíveis a partir da linha de comando. Quanto mais próximo da frente da string estiver o binário de sua escolha, determinará a ordem em que eles serão selecionados.
Se uma pasta não estiver mais disponível, acredito que ela deverá ser transferida para o próximo local.