1. 程式人生 > >SVN TortoiseSVN 總結

SVN TortoiseSVN 總結

sources 常規設置 mod resolved 應該 javah 選項 sdn 一份

VisualSvn Server
TortoiseSVN

SVN 服務端 和 客戶端 安裝細節

【VisualSvn Server】是Svn的服務器端,是免費的。【VisualSvn】是Svn的客戶端,和Visual Studio集成在一起,但不免費的,通常我們用的客戶端是【TortoiseSVN】,是免費的。
VisualSvn Server安裝中需要註意的點:1、選擇默認配置,服務和控制臺組件方式:
技術分享
2、安裝標準版 Standard Edition技術分享
  • Location是程序的安裝路徑
  • Repositories 是存放SVN倉庫的路徑(註意:指定一個空的文件夾)
  • 端口使用默認,協議有可能不能勾選https選項
妹的,裝了一晚上都沒成功,最後把https改成http後竟然就可以了,坑爹呀!
11 1
妹的,裝了一晚上都沒成功,最後把https改成http後竟然就可以了,坑爹呀!
3、如果要卸載VisualSvn Server,需先進入【服務管理器】把VisualSvn Server服務停掉,不然在卸載中途會說進程還在運行不能卸載
開始-->運行-->輸入 services.msc
11 1
開始-->運行-->輸入 services.msc
技術分享
客戶端 TortoiseSVN 安裝中需要註意的點:
  • 安裝中Win7下會彈出一個對話框,問是否確認安裝程序,選擇"是"即可
  • 完成安裝後會要求你重啟電腦
  • 重啟之後右鍵點擊桌面選項菜單,如果發現中有TortoiseSVN,就表明安裝成功了
技術分享

如何在 Eclipse中設置 SVN 忽略文件

1、在eclipse裏屏蔽不需要提交的文件
Window -> Preferences --> Team -> Ignored Resources -> 在右側添加如下文件【bin、 target、m2-target、gen、.classpath、.project】
2、在Eclipse中設置忽略的.svn文件夾,此操作僅對此項目有效。
右鍵 --> Properties --> Java Build Path --> Source --> xxx/src --> Excluded --> 點右邊的 Edit,在Exclusion patterns中加入【**/.svn/**】,讓Eclipse忽略.svn目錄即可。
技術分享

3、在Eclipse的導航視圖中,選中尚未加入版本控制的文件或目錄,右鍵 --> Team --> 【添加至SVN:ignore】。此操作僅對此項目有效。

如何在 TortoiseSVN 設置忽略文件

1、設置某個項目下的忽略文件,此操作僅對此項目有效。在資源管理器中,右鍵一個未加入版本控制文件或目錄,選擇TortoiseSVN →Add to Ignore List,會出現一個子菜單,允許你僅選擇忽略該文件或者忽略所有具有相同後綴的文件。
如果你想從忽略列表中移除一個或多個條目,右擊這些條目,選擇TortoiseSVN →從忽略列表刪除。
2、設置全局忽略文件,此操作對所有的項目都有效。右鍵 --> TortoiseSVN --> 設置 --> 常規設置 --> 在如下輸入框中添加忽略的文件類型
技術分享

如何在Eclipse上創建SVN控制的工程

步驟:1、在eclipse上新建一個project,在project上右鍵 --> 【team】 --> 【share project】,選擇 repository 類型為【SVN】 --> 點擊next
2、選擇【使用已有資源庫位置】或【創建新的資源庫位置】--> 輸入文件夾名(下方的選項代表放在指定子目錄中) --> 點擊Finish
技術分享
3、輸入用戶名和密碼(若有SVN服務器設有訪問控制),自由選擇是否打開synchronize視圖
4、完成後切換到Java視圖,這時若我們的項目各個文件及文件夾出現一個小問號,這說明我們已經 share 成功,只是還沒提交到服務器
技術分享 技術分享 技術分享
從上面可以看到bin、gen目錄並沒有小問號,這是因為我在【Window -> Preferences --> Team -> Ignored Resources】中添加了此目錄
針對Android項目,我們應該添加如下文件或目錄【bin、 target、m2-target、gen、.classpath、.project】
5、代碼更改後,右鍵 --> team --> 提交--> 寫日誌,點擊OK --> 上傳到服務器,成功後圖標狀態就改變了!

如何將SVN路徑中的項目導入eclipse

正確的方式
1、檢出SVN服務器中的項目到本地
  • 在硬盤中新建一個文件夾,在文件夾內右鍵選擇"SVN檢出"
  • 選擇要檢出項目的URL、要檢出到的位置、要檢出的版本等
  • 點擊確定後開始從服務器下載,一會就檢出成功了
2、像導入普通安卓項目一樣導入本地項目到eclipse
  • 選擇導入類別Android--Existing Android code into workspace
  • 復制本地項目路徑,粘貼到Root Directory中,按回車(小鍵盤的回車不行)
  • 導入成功後,導入的工程已經受SVN控制了!


不正確的方式一:通過eclipse中的SVN視圖檢出方式(檢出為)

不正確的方式二:通過eclipse中的右鍵--Import--SVN--從SVN檢出項目不正確的方式三:通過eclipse中的SVN視圖導出方式(導出)
"檢出為" 的兩種方式
  • 第一種是"做為新項目檢出,並使用新建項目向導進行配置"
    僅當資源庫中不存在.project工程文件時才使用,意思是如果代碼庫中有了這個工程文件,那麽它就認為這是一個信息完整的工程,在導入的過程中就不需要再創建工程——選這選那的,因為.project工程文件中已包含了這一些列的信息,所以只有在代碼庫中不存在.project工程文件時才可選擇。
  • 第二種是"做為工作空間中的項目檢出"
    這一選項不管代碼庫中是否有.project文件都是可以選擇的,如果代碼庫中沒有.project文件時,選擇此種方式,會創建一個簡單的工程,那不是Java工程,或其他代碼工程,這種工程無不進行相應手工設置是不能進行相應開發的,所以在代碼庫上無.project工程文件導入時,最好選擇前一選項,根據新建項目向導來進行相應設置並自動生成.project工程文件。

如何將本地SVN服務端工程導入eclipse

比如從老師那裏拷來了一份SVN服務端的工程壓縮包,我該怎麽從中獲取真正的Android工程呢?
  • 1、安裝 VisualSVN Server(服務端的SVN軟件)
  • 2、將本地SVN工程導入到VisualSVN Server 中,復制 VisualSVN Server 中的URL。
  • 3、後面的步驟就和上面【如何將SVN路徑中的項目導入eclipse】一樣了

如何比較指定兩個版本間的差異

這個雖然很常用,但是經常找不到入口,蛋疼的很!
在【文件夾】右鍵--> SVN顯示日誌 --> 在日誌列表中的任一日誌上右鍵-->【與前一版本比較差異】--> 選擇要比較的兩個版本技術分享
註意:一定要在文件夾上右鍵時才會出現選項,在文件上右鍵不會出現此選項。

細節:下面的版本號要比上面的大,這樣才是比較後面的版本相比前面的版本有何改變。 如果上面的版本號比下面的大,則代表的是"如果"將最新版本恢復到上面的版本時的變更記錄。
比如:若版本2相比版本1增加的一張圖片,若上面為1下面為2,則變更記錄為:技術分享 相反,則變更記錄為:技術分享點擊 技術分享 可以在兩種比較方式間切換。

如何通過VisualSvn Server創建代碼

1、打開VisualSvn Server,在Repository上右鍵 --> Create New Repository...2、選擇常規方式技術分享3、命名4、選擇初始化結構,選擇下面的那個會創建trunk、branches、tags三個子目錄技術分享
5、點擊配置權限,當然也可完成後右鍵Properties配置。新建用戶或組,設置用戶或組的權限6、右鍵【Copy URL to Clipboard】可以復制URL給團隊成員

如何遷入本地項目到SVN服務器代碼庫

打開【源碼】所在資源管理器目錄,文件夾上右鍵 --> TortoiseSVN --> 導入 --> 輸入上面創建代碼庫時生成的URL,確定 --> 輸入賬戶密碼(這個是在服務器設置的) --> 確定 --> 開始導入 --> 導入完成

這時刷新服務器【VisualSvn Server】裏的項目,便可看到導入的項目:

技術分享


使用eclipse解決文件沖突

文件沖突和樹沖突
  • 文件沖突:當多名開發人員修改了同一個文件中相鄰或相同的行時就會發生文件沖突。
  • 樹沖突:當一名開發人員移動、重命名、刪除一個文件或文件夾,而另一名開發人員也對它們進行了移動、重命名、刪除或者僅僅是修改時就會發生樹沖突。
這兩種情形需要不同的步驟來解決沖突,參考http://blog.csdn.net/sqk1988/article/details/6926745。
對於每個沖突的文件, Subversion 在你的目錄下生成了三個文件:
  • 【.mine】:這是你要提交的文件,在你更新你的工作副本之前存在於你的的工作副本中,沒有沖突標誌,也即除了你的最新修改外沒有別的東西。
  • 【.r(xxx)】:這是在你更新你的工作副本之前的基礎版本文件,也即它是在你做最後修改之前所檢出的文件。
  • 【r(xxx+1)】:這個文件是當你更新你的工作副本時,你的 Subversion 客戶端從服務器接收到的文件,也即這個文件是目前版本庫中最新的版本。


【二選一形式解決沖突】

經過文件對比後,如果我們發現兩者改動的是同一個位置或者是同一個功能點,那麽我們可能需要選擇性地保留一個,舍棄另一個。
  • 如果舍棄的是本地文件,請右鍵單擊該文件,然後在關聯菜單中點擊【覆蓋/更新】(Replace/Update),此時Eclipse將提示"是否刪除本地更改,並替換為資源庫中的文件",直接點擊【Yes】即可舍棄本地更改,並更新為資源庫中的最新版本。
  • 如果舍棄的是資源庫中的文件,請右鍵單擊該文件,然後在關聯菜單中點擊【標記為合並】,然後再點擊【提交】即可。

【合並解決復雜的沖突】如果本地和資源庫中的文件改動都"各有所需"又"各有所棄",那麽我們只能在文件對比中,一處處對比不同之處,並逐步修改為最終版本。在修改與合並的過程中,有兩個圖標按鈕比較重要。如下圖所示的紅色邊框標註的兩個圖標,前者可以將右側與本地文件沒有產生沖突的改動復制到左側的本地文件中,後者用於將鼠標光標當前所在的右側改動區域復制到左側相應位置。

技術分享

在確認改動完成之後,同樣的點擊右鍵關聯菜單中的【標記為合並】,然後直接【提交】即可。


使用SVN解決文件沖突

使用TortoiseSVN解決文件沖突
1、update時發現沖突。update後產生三個文件:
2、右鍵找到Edit conflicts(編輯沖突),打開之後,窗口裏邊有三個文檔,左右下。下方的是最後成果,你需要根據左右兩份不同版本,合成一個最終版
3、右鍵-Resolved(或在修改後保存時會有提示“是否標記為解決”,點擊確認即可)
4、黃色警告不見了,變回平時熟悉的已修改標記~~現在可以正常commit了

Eclipse導入SVN項目版本不兼容問題

eclipse中導入本地svn管理的Android項目時,彈出以下錯誤提示:
技術分享
org.apache.subversion.javahl.ClientException: Unsupported working copy format svn: This client is too old to work with the working copy at ‘D:\95_bqt‘ (format 31).
You need to get a newer Subversion client. For more details, see http://subversion.apache.org/faq.html#working-copy-format-change
22 1
org.apache.subversion.javahl.ClientException: Unsupported working copy format svn: This client is too old to work with the working copy at ‘D:\95_bqt‘ (format 31).
2
You need to get a newer Subversion client. For more details, see http://subversion.apache.org/faq.html#working-copy-format-change
原因是你的 Eclipse SVN 插件太舊了,更新安裝 eclipse svn 插件就可以了!註意:這裏並不是說你在文件管理器Explorer右鍵時使用的 TortoiseSVN 太舊了,而是 Eclipse 中使用的 SVN 插件太舊了。

來自為知筆記(Wiz)

SVN TortoiseSVN 總結