Binarios de subversión incorrectos en /bin /usr/bin

Binarios de subversión incorrectos en /bin /usr/bin

Estoy trabajando en una Mac y recientemente actualicé Xcode, en esta actualización instala la última versión subversion 1.9.xcomo instalación principal. Esto estaría bien, pero en el trabajo lo usamos 1.8.xy esta versión más nueva es incompatible.

Lo ideal sería volver a cambiar la subversión principal a 1.8.x, pero no tengo claro cómo progresar. Lo que he hecho hasta ahora es instalar la versión correcta a través del administrador de paquetes (Homebrew) en /usr/local/opt/subversion.

Esto está bien para mi IDE porque puedo apuntar a la carpeta ./bin. Sin embargo, si quiero trabajar en la terminal, lo cual hago a menudo, la versión es 1.9.x.

Como solución alternativa, he creado un alias en mi archivo ./bash_profilede la siguiente manera .alias svn=/usr/local/opt/[email protected]/bin/svn

Ahora, cuando abro la terminal y ejecuto, svn --versionaparece lo siguiente.

svn, version 1.8.16 (r1740329) compiled Apr 2 2017, 22:11:27 on x86_64-apple-darwin15.6.0

Lo cual es perfecto, pero siento que me falta algo, hay otros binarios que uso de vez en cuando y detesto ponerles alias a todos. Parece que debería haber una manera mejor, pero no estoy muy seguro de mover las cosas a nivel raíz.

¿Es posible reasignar la versión funcional de Subversion? Quizás algo así como use svn --path .....

Respuesta1

Mientras edita, agregar la $PATHvariable de entorno es una opción en términos de establecer el orden de preferencia para los archivos binarios que le gustaría usar. Puede que esto no sea del todo necesario.

Cuando ejecuta svn updesde la terminal una copia de trabajo con una subversión que no coincide, recibirá el siguiente mensaje.

svn: E155036: Please see the 'svn upgrade' command

La experiencia pasada de ejecutar comandos a ciegas me pone nervioso, pero después de investigar las máquinas de varios compañeros de trabajo, queda claro que la incompatibilidad es con la copia de trabajo y no con el servidor VCS.

Para resolver la discrepancia, simplemente puede ejecutar svn upgrade. Después de esto podrás ejecutar svn upy la actualización debería continuar sin problemas.

Si todo lo demás falla, aún puede forzar el uso de una versión específica del svnbinario estableciendo la ruta a su carpeta de subversión en la $PATHvariable de entorno.

p.ejexport PATH=/usr/local/opt/[email protected]/bin:/usr/bin:/bin:$PATH

Lo que realmente no me tomé el tiempo de entender antes es que $PATHcontiene la ubicación de los archivos binarios a los que desea que se pueda acceder desde la línea de comando. Cuanto más cerca del frente de la cadena esté el binario de su elección, se determina el orden en el que se seleccionan.

Si una carpeta ya no está disponible, creo que debería pasar en cascada a la siguiente ubicación.

información relacionada