[英]Deleting files in TFS automatically (Git and Jenkins integration)
我有一個git存儲庫設置(使用gitblit),Jenkins和Team Foundation Server(TFS)。 我正在嘗試做的是:
1)讓工程師將代碼提交到git存儲庫中。
2)Jenkins將編譯代碼。
3)Jenkins將把代碼更改添加到TFS中。
很簡單吧? 好吧,我遇到了在TFS中反映已刪除文件的問題。 我的工作如下:
1)Jenkins運行一個腳本,該腳本刪除Jenkins工作區中的所有文件和文件夾
2)然后,Jenkins將文件從git repo克隆到Jenkins工作區。
git clone git://devfilesrepo.company.com/DevFiles.git %WORKSPACE%
3)Jenkins執行具有以下TFS命令的批處理文件:
set checkinComment=%1
tf workfold /collection:http://faketfs:8080/faketfs/DefaultCollection /workspace:DevFiles /map $/Dev/DevFiles "C:\Jenkins\jobs\DevFiles\workspace" /login:Company\admin,fakePass
tf checkout "C:\Jenkins\jobs\DevFiles\workspace" /noprompt /recursive /login:Company\admin,fakePass
tf add "C:\Jenkins\jobs\DevFiles\workspace" /noprompt /recursive /login:Company\admin,fakePass
tf resolve /auto:KeepYours /noprompt /recursive /login:Company\admin,fakePass
tf checkin /comment:%checkinComment% /noprompt /recursive /login:Company\admin,fakePass
現在,如果在進入Git時添加或編輯文件,上述命令非常有用。 但是,如果曾經從Git刪除文件,則該文件不會反映在TFS中。
使情況更加復雜。 我還需要將一些文件添加到TFS中,該文件在Git存儲庫中不應該存在。
我可以運行一個TFS命令來反映已刪除的更改嗎?
我本來打算在從Git添加文件之前刪除TFS文件夾,但隨后我也將刪除直接添加到TFS的文件。 我聽說過Git-TF和Git-TFS,這些實用程序是否能夠滿足我的需求? 如果是這樣,我可以運行哪些命令將代碼從Git轉移到TFS?
謝謝
要提取刪除內容,您需要將方法更改為類似的方法。
tf checkout
命令 attrib -r
文件進行attrib -r
關閉,以關閉只讀標志。 tfpt online
命令。 TFS會將服務器工作空間與本地文件系統的內容進行比較,並將其檢測到的所有添加,刪除和編輯添加到待定更改中。 您需要的特定命令是 tfpt online /adds /deletes /diff /noprompt /recursive <folderName>
tf resolve
和tf checkin
命令。 您可能需要稍微調整一下方法,但這應該可以為您提供幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.