網頁

2019/6/8

TortoiseSVN 從SVN repository check out專案並匯入Eclipse

本篇介紹如何用TortoiseSVN將SVN repository上的專案checkout下來至本機的指定資料夾中。

例如某開發人員第一次將未被版控的Eclipse的Maven專案加入SVN repository後,之後其他開發人員會需要將這個專案checkout至自己的本機中來做後續的開發。

首先找一個要存放專案的資料夾,例如本篇會將SVN repository的Apple專案checkout至D:\Demo\MyProjects\MyApple中。

Apple專案的SVN repository路徑是https://matt-PC/svn/MyProjects/Apple/trunk
在你的公司請向資深同仁詢問實際專案的SVN repository位置。

D:\Demo\MyProjects\MyApple滑鼠右鍵 -> SVN Checkout...開啟Checkout視窗。



[URL of Repository]欄位輸入專案在SVN repository的路徑
https://matt-PC/svn/MyProjects/Apple/trunk

[Checkout Directory]欄位輸入要checkout的資料夾,
D:\Demo\MyProjects\MyApple

其他選項維持預設,按OK便會開始checkout。



Checkout執行便會將檔案加入指定的資料夾。



假如你是第一位checkout專案的人,你應該將專案某些不需被SVN版控的檔案或目錄標記在SVN的global-ignore屬性中。

以Maven專案來例,通常要忽略的檔案包括.settings.project.classpathtarget資料夾。

先將下面不需要被SVN版控的檔案刪除。



接著在專案資料夾按滑鼠右鍵 -> TortoiseSVN -> Properties



點選New...



選擇[Other]



在右上角下拉選單選擇svn:global-ignores,然後在下方欄位填入要忽略的檔案或資料夾.settings.project.classpathtarget,然後按OK



把以上檔案及資料夾設定到svn:global-ignores屬性後,之後符合規則的檔案將不會被納入SVN版控,也就是這些檔案或目錄有任何變動會被忽略而不會問你要不要提交。



接著我們要將把刪除的檔案及新增的svn:global-ignores屬性的變動提交到專案的SVN repository。狀態(status)為missing的那些檔案就是被刪除的.settings.project.classpathtarget目錄下的檔案。



提交完成後在SVN Server上檢查,確實上面刪除的檔案都已經不見了。只剩下srcpom.xml



接著打開Eclipse,在功能選單選擇File -> Import... -> Maven -> Existing Maven Projects



[Root Directory]欄位輸入checkout的目錄位置,也就是D:\Demo\MyProjects\MyApple,然後按Finish



接著Eclipse就會將MyApple匯入成為專案。



此時在專案的工作目錄會因為匯入了Eclipse而產生一些檔案,都是一些與Eclipse設定有關的檔案,也就是剛剛那些被刪除的.settings.project.classpathtarget,不過因為設定了svn:global-ignores,所以這些檔案的任何修改都會被SVN忽略。



SVN用起來真得很麻煩,但沒辦法,公司版控還是用SVN。


參考:

沒有留言:

張貼留言