2016-09-22 99 views
0

Xcode8發佈後,Xcode SVN工具需要subversion 1.9才能使用它。 但即使是Mac上最新的顛覆客戶端也不支持subversion 1.9。 如cornerStone。 有沒有什麼辦法,Xcode代碼支持低版本顛覆? 非常感謝!Xcode8支持Subversion 1.7或1.8嗎?

回答

0

顛覆由XCode集成。 您可以在/Applications/Xcode.app/Contents/Developer/usr/bin/svn*中看到它。

因此,你可以使用系統顛覆1.7像複製覆蓋svn *文件。 它會好的。

0

SVN由Xcode中提供,但在墊片二進制形式:

https://macops.ca/developer-binaries-on-os-x-xcode-select-and-xcrun

這SVN二進制文件將出現改變的版本,這取決於你Xcode中它指向的。嘗試一下!我拿了一個Xcode 7.3.1版本的svn,並將它移動到Xcode8安裝版本,版本從1.7.22更改爲1.9.4,相同的二進制文件。

我需要SVN版本鎖定至1.7.22,並決定沒什麼兩種方法可以做到這一點:

  1. 重建SVN自己。有很多選擇,這將很難與蘋果在這裏做的事情相匹配。
  2. 安裝舊版本的Xcode 7.3.1,並編寫一個包裝腳本來淘汰舊版本的svn。我用bash腳本做了這個:

    #! /斌/慶典

    #安裝的Xcode 7.3.1到/Applications/LegacyTools/Xcode-7.3.1.app
    #前綴路徑以在/ usr/local/bin目錄
    #這個腳本應該被保存爲在/ usr/local/bin目錄/ SVN

    一套+ X
    集-e

    #查找舊的svn
    legacy_svn_cmd =「ENV DEVELOPER_DIR = /應用/ LegacyTools/Xcode-7.3.1.app/U sr/bin/xcrun --find svn「
    legacy_svn_exe =‵ $ {legacy_svn_cmd}‵

    #傳遞參數傳遞給新的命令
    ARGS = $ @

    #構建命令
    CMD = 「$ {legacy_svn_exe}的$ args」

    #執行命令
    回聲 「運行CMD」
    echo $ cmd
    $ cmd

到目前爲止,這一切都非常好,我看到很少或沒有性能問題。 你也可以抽象一點來運行老版本的Xcode中的任何命令,我寫了一個通用命令模板並創建了一個符號鏈接/ usr/local/bin/svn來解決上述問題,並且啓用了其他命令從Xcode 7.3.1運行,只需在/ usr/local/bin中爲它創建一個符號鏈接即可。

注意:這隻適用於不會回調Xcode的簡單命令,所以您不會開始混合可能導致問題的工具集。 Svn是一個足夠原子的命令,迄今爲止我還沒有遇到任何問題。