저는 Mac에서 작업하고 최근 Xcode를 업데이트했는데 이번 업데이트에서는 최신 버전이 subversion 1.9.x
핵심 설치로 설치되었습니다. 괜찮습니다. 하지만 직장에서 1.8.x
우리가 사용하고 있는 이 새 버전은 호환되지 않습니다.
이상적으로는 Core Subversion을 1.8.x로 다시 변경하고 싶지만 어떻게 해야 할지 잘 모르겠습니다. 지금까지 내가 한 일은 패키지 관리자(Homebrew)를 통해 올바른 버전을 /usr/local/opt/subversion
.
./bin 폴더를 가리킬 수 있기 때문에 이는 내 IDE에 적합합니다. 그러나 터미널에서 작업하려면(자주 수행하는 작업) 버전은 1.9.x입니다.
./bash_profile
해결 방법으로 아래와 같이 별칭을 만들었습니다 .alias svn=/usr/local/opt/[email protected]/bin/svn
이제 터미널을 열고 실행하면 svn --version
다음과 같은 결과가 나타납니다.
svn, version 1.8.16 (r1740329) compiled Apr 2 2017, 22:11:27 on x86_64-apple-darwin15.6.0
이것은 완벽하지만 뭔가 빠진 것 같은 느낌이 들고 가끔 사용하는 다른 바이너리가 있는데 앨리어싱을 싫어합니다. 더 나은 방법이 있어야 할 것 같지만 루트 수준에서 작업을 이동하는 데에는 확신이 없습니다.
Subversion의 작업 버전을 재배포하는 것이 가능합니까? 어쩌면 비슷한 것일 수도 있습니다 use svn --path ....
.
답변1
편집할 때 $PATH
환경 변수를 추가하는 것은 사용하려는 바이너리의 우선 순위를 설정하는 옵션입니다. 이것은 전적으로 필요하지 않을 수도 있습니다.
svn up
일치하지 않는 Subversion이 있는 작업 복사본을 터미널에서 실행 하면 다음 메시지가 표시됩니다.
svn: E155036: Please see the 'svn upgrade' command
맹목적으로 명령을 실행한 과거 경험으로 인해 긴장이 되었지만 동료의 컴퓨터를 조사한 후 비호환성은 VCS 서버가 아니라 작업 복사본에 있다는 것이 분명해졌습니다.
불일치를 해결하려면 을 실행하면 됩니다 svn upgrade
. 그러면 실행할 수 svn up
있고 업데이트가 원활하게 작동합니다.
다른 모든 방법이 실패하더라도 svn
환경 변수에 Subversion 폴더 경로를 설정하여 특정 버전의 바이너리를 강제 적용 할 수 있습니다 $PATH
.
예를 들어export PATH=/usr/local/opt/[email protected]/bin:/usr/bin:/bin:$PATH
이전에 제가 이해하는 데 시간이 걸리지 않았던 것은 여기에 $PATH
명령줄에서 액세스하려는 바이너리의 위치가 포함되어 있다는 것입니다. 선택한 바이너리가 문자열 앞쪽에 가까울수록 선택되는 순서가 결정됩니다.
폴더를 더 이상 사용할 수 없으면 다음 위치로 계단식으로 이동해야 한다고 생각합니다.