Как обновить инструмент svn cmd-line, возможно, установленный в нескольких местах?

Я установил из XCode -> Preferences -> Downloads Command Line Tools. Я думал, что получу последнюю версию необходимых мне инструментов командной строки.

  1. I checked using xcrun -find svn :
    • I found a first Subversion on /Applications/Xcode.app/Contents/Developer/usr/bin/
    • версия этого svn - 1.6.18 (r1303927).
  2. Then I used which svn :
    • I found another Subversion on /usr/bin/
    • версия svn, версия 1.6.18 (r1303927).

Что, черт возьми, происходит? У меня есть две копии на моем OS X? та же сборка и компиляция в тот же день? или есть ссылка? как сделать чтобы появились плз?

Я помню, как использовал xcode-select..., чтобы моя командная строка использовала версии /Applications/XCode.app/. Так что здесь определенно что-то не так!

На веб-сайте Apache-Subversion рекомендуется версия 1.7.7. Поэтому я намерен обновить svn, который использую. Лучший способ (для меня) получить двоичный пакет в Mac OS X — использовать MacPorts.

Я пробежал port installed subversion svn -> None of the specified ports are installed. !

Если я установлю с помощью macports последнюю версию svn, я могу потерять третью на моем osx.

Пожалуйста, это не техническая проблема, потому что я отлично могу работать со старым svn, но мне нужно объяснение. И мой вопрос What is going on ?

PS: не стесняйтесь редактировать мой пост, чтобы он соответствовал требованиям хорошего вопроса о stackoverflow.


person Community    schedule 13.11.2012    source источник
comment
Используйте ls -l /usr/bin/svn, чтобы узнать, является ли это символической ссылкой. Если нет, ls -i оба файла и посмотрите, совпадают ли индексы. Если да, то это жесткая ссылка.   -  person trojanfoe    schedule 13.11.2012
comment
ни один из svns не является символической ссылкой.   -  person    schedule 13.11.2012
comment
У них один и тот же индексный дескриптор (ls -i)?   -  person trojanfoe    schedule 13.11.2012
comment
Они также получили разные номера инодов.   -  person    schedule 13.11.2012
comment
Тогда они являются отдельными двоичными файлами. Возможно, Xcode копирует некоторые двоичные файлы в /usr/bin, я не знаю. Я бы тоже не беспокоился об этом.   -  person trojanfoe    schedule 13.11.2012
comment
Это определенно то, что происходит. which -a svnпоказывает тот, что в /usr/bin/. Но как обновиться до 1.7.7?! плз   -  person    schedule 13.11.2012


Ответы (1)


Установите macports, который изменит ваш ~/.profile, чтобы включить /opt/local/bin в начале $PATH (для этого вам может потребоваться выйти из системы и снова войти в нее, чтобы вступить в силу).

Потом:

$ sudo port install subversion

После этого which svn должно показать:

/opt/local/bin/svn
person trojanfoe    schedule 13.11.2012
comment
Macports уже установлен, в ~/.profile у меня: # MacPorts Installer addition on x:x:x: adding an appropriate PATH variable for use with MacPorts. export PATH=/opt/local/bin:/opt/local/sbin:$PATH - person ; 13.11.2012
comment
ПРИМЕЧАНИЕ: пришлось запустить новый сеанс терминала, чтобы svn вызывал 1.8 вместо 1.6. - person Nakilon; 30.08.2013