標籤:blog http io ar os sp for 檔案 on
TFS 自動同步Server 端檔案的批處理命令
目前在我們組的工作中很多時候需要將TFS上Server端的代碼自動無人值守的同步到本地中來, 找到了一些解決方案的資料http://bbs.scmroad.com/archiver/?tid-21003.html。
經過實驗,我們總結成以下步驟,希望對大家有所借鑒。
Steps:
1. 點選VS Source Explorer 上面的TFS目錄列表。
2. 建立一個TFS 的 workspace。
3. 點擊Source Control Folder 。
4. 在Source folder中選擇你要用從Server端同步的目錄。
5. 在Local Folder中選擇本地同步的檔案夾。
6.開啟本地註冊表,進入中標註的Key node path. 建立一個索引值項,索引值項的value指向你的TFS Server地址。
如果建立的key(E.g. TFSServer)的父節點的node(E.g. Servers)不存在, 則需要先建立一個。
7.建立一個批次檔,寫入以下代碼。將批處理加到Windows的計劃任務後即可自動執行同步TFS。
@ECHO OFF
REM 本機對應TFS上project的路徑
SET GetPath="I:\TFSAutoDownload\TFSRFT_Gen850"
REM TFS上project的路徑
SET TFSPath="$/Geneva_QA/Branches/Release/Geneva_8.5.Up4/RFTTrunk"
REM 建立的用於同步的TFS Workspace的名字
SET WorkspaceName="TFSAuto850"
REM 在註冊表中註冊的TFS的索引值
SET TFSServer="TFSServer"
REM 本地安裝的TFS的Explore路徑,一般預設的是指向C盤
SET VSLocPath="E:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE
ECHO Trying TFS get...
ECHO.
REM IF NOT EXIST Create GetPath
IF NOT EXIST %Getpath% MD %Getpath%
REM if exists remove WORKSPACE and create NEW WORKSPACE
REM 開始執行同步的時候在參數列表中要給出串連帳號和密碼
%VSLocPath%\tf.exe" workspace /delete %WorkspaceName% /noprompt /s:%TFSServer% /login:dwei,!ufida1
%VSLocPath%\tf.exe" workspace /new /s:%TFSServer% %WorkspaceName% /noprompt /login:dwei,!ufida1
REM unmap default WORKING FOLDER for newly created WORKSPACE
%VSLocPath%\tf.exe" workfold /s:%TFSServer% /workspace:%WorkspaceName% /unmap $/ /login:dwei,!ufida1
REM map WORKING FOLDER for newly created WORKSPACE
%VSLocPath%\tf.exe" workfold /server:%TFSServer% /workspace:%WorkspaceName% /map %TFSPath% %Getpath% /login:dwei,!ufida1
REM get the recent path through DOS command
pushd %Getpath%
REM get latest source from TFS
%VSLocPath%\tf.exe" get %TFSPath% /recursive /noprompt /login:dwei,!ufida1
ECHO.
REM move back to actual path through DOS command
popd
ECHO TFS get completed...
TFS 自動同步Server 端檔案的批處理命令