2009-08-26 70 views
6

我一直在努力如何使用TFS作爲iPhone開發的源代碼庫。如何使用TFS進行iPhone開發?

我的老闆永遠不會讓我使用Subversion(或上帝禁止Perforce),所以我被TFS源代碼控制卡住了。

解決方案是去購買工具將Mac連接到TFS,我不想在這裏做廣告,但適用於Mac OS X的Teamprise Client Suite是Mac OS X和TFS之間的橋樑。

對於標準簽入和開發人員工作流程,Xcode和TFS之間沒有集成。您必須通過Teamprise Explorer客戶端手動執行所有操作。

對於構建,事實證明,Automator和Teamprise命令行客戶端的伎倆。

是否有一些Xcode到TFS橋? 你用於iPhone開發的源代碼控制系統是什麼?

對我來說,關鍵是嵌入在Automator工作流程中的以下bash腳本。

%1 =執行代碼拉取的本地文件夾。 %2 =項目名稱做從拉。

這個腳本假設Teamprise命令行客戶端,同時內部的Xcode使用插件系統,以支持不同的版本控制系統安裝到〜/ Teamprise

PATH="$PATH:~/Teamprise:~/Teamprise/lib" 

cd "$1" 
mkdir "$1/logs" 

tf workspace -delete BuildScript -server:http://TFSServer -login:[email protected],password >> $1/logs/wsdelete1.log 

tf workspace -new BuildScript -server:http://TFSServer -login:[email protected],password >> $1/logs/wscreate.log 

tf workfold -map "$/TFSRoot" . -workspace:BuildScript -server:http://TFSServer -login:[email protected],password >> $1/logs/workfold.log 

tf get "$/TFSRoot/$2" -all -recursive -server:http://TFSServer -login:[email protected],password >> $1/logs/get.log 

tf workspace -delete BuildScript -server:http://TFSServer -login:[email protected],password >> $1/logs/wsdelete2.log 

#pump the tfs landing folder to the next step in the Automator script. 
echo $1/Projects/$2 
+0

順便說一下,我知道Perforce和TFS有共同的祖先,如果它有任何安慰 – 2009-08-26 12:47:19

+0

有沒有問題?我似乎無法看到它! – 2009-08-26 12:50:02

+1

標題 – Daniel 2009-08-26 12:53:34

回答

7

Louis所述,XCode目前並未爲我們提供可公開訪問的插件模型(Teamprise)以提供TFS集成 - 這是我們喜歡做的事情。

我們已經嘗試過一些黑客 - 比如假裝成Perforce命令行並與TFS對話,但是這些概念的內部證明迄今爲止效果不佳 - 尤其是當我們想要理想情況下,工作項跟蹤也以某種方式鏈接,以便您可以將簽入與錯誤等相關聯。

今天,我們大多數使用Teamprise與XCode的TFS交談的客戶正在使用獨立UI工具(Teamprise Explorer)或正在執行Automator動作,就像您建議掛鉤到tf command line一樣。

道歉,這不是一個很好的經驗。我可以建議的是,你提供一個供SCM系統插入XCode的插件模型。希望如果有重大的開發者需求,那麼我們可能會有更多的運氣,而不僅僅是我們要求它。

+0

感謝Teamprise方面的解釋。我打算把這個標記爲現在的答案,並且還向蘋果公司提交了一個錯誤。 我對Teamprise套件非常滿意(再一次不試圖做廣告),它滿足了我的需求,並且在給定功能數量的情況下非常穩定。 基於我的WWDC 2009的經歷,我有一種感覺,這個對Xcode團隊的要求將會充耳不聞。 Xcode源代碼控制插件模型幾乎不像其他IDE的優先級那樣重要,無法創建允許開發人員創建超級iPhone/Mac OS X應用程序的工具。 – Batgar 2009-08-28 14:24:14

+0

我同意你關於可能的XCode優先事項 - 但是如果我們不問我們沒有得到:-)添加XCode支持是我們喜歡做的事情,我會繼續鼓勵人們抱怨,直到有可能爲我們添加它:-) – 2009-09-02 13:12:53

+0

我投它! (bug報告) – 2012-07-03 13:31:07

3

,這是不公開或記錄。除了像運行一些命令行腳本這樣的最低限度的支持外,沒有任何支持的方式來使用除Xcode附帶的任何版本控制系統。

你應該file蘋果公司要求原生支持TFS或支持Xcode的VCS插件系統的bug。

無論如何,在短期內,我認爲你不會找到一個令人滿意的解決方案來解決你的問題。

3

如果您必須與TFS服務器集成,此時您的最佳路線是使用SVNBridge,然後通過Xcode的內置subversion功能連接到網橋。

另外,第一次安裝VisualSVN服務器花費了不到15分鐘的時間進行基本安裝,另外還有十個左右時間配置了用戶並獲得了由我們公司的根證書籤名的SSL證書。試試看,這非常簡單。

+0

我有一個TFS嚮導的內部團隊,他們負擔過重,人手不足。如果我提到部署,維護,備份和跟蹤單獨的SVN服務器......那麼它會變得很難看。基於Teamprise的解決方案將開發工作的責任放在開發者身上,但其移動部件數量最少。 – Batgar 2009-08-28 14:20:18

+0

這很有道理;增加一個附加的SVN服務就是爲它們做更多的維護。 – rpetrich 2009-08-28 15:25:06