如何架設svn服務器和使用TortoiseSVN1.首先,假設你的電腦是win7 64位的,你要準備的東西:VisualSVN-Server-3.0.1-x64.msi和TortoiseSVN-1.8.8.25755-x64-svn-1.8.10.msi
2.安裝完之后
3.打開VisualSVN Server Manager,直接右鍵Repositories,Create New Repository,輸入Repository Name,假設輸入的是testsvn,OK
4.那么現在在Repositories下就會有一個資源名稱叫testsvn
5.那么我們現在右鍵Users,Create User , 輸入名稱密碼都是testsvn,OK,我們這就創建了一個叫testsvn的用戶了,以后可以用它檢入檢出數據了
6.現在我們要檢出這個資源的東西,右鍵Repositories下的testsvn,Copy Url to ClipBoard,這樣就選中了它的url了
7.我們在C盤右鍵 , 選擇SVN Checkout,在URL of repository粘貼,OK
8.經過以上步驟之后,你可以檢出你的項目了,請嘗試在里面新建修改文件提交就行了
9.如果你要在eclipse里面使用也可以,因為你已經有了url和用戶名密碼
10.如果我重裝系統之后,資源是不是消失了?沒關系,在菜單欄的操作(A)-Properties里面設置你的Repositories Root,這樣,無論你怎么重裝,都沒有關系了,自己的svn , 局域網的svn就這么配置好了 。
詳細使用TortoiseSVN的步驟TortoiseSVN是一個SVN的客戶端,下面是我以前不知道從哪復制的大致使用 , 希望對你有用: 五.客戶端的使用 1.Checkout Repository 首先要Checkout服務器端的Repository,所謂的Checkout就是指獲得服務器端指定的Repository存儲的所有文件 。這個Checkout和Visual Source Safe的Checkout意義完全不一樣,VSS的Checkout指的是鎖定某個文件 , 如果你以前使用過VSS,在學習Subversion時這個問題一定要注意 。Checkout的具體方式是: 在客戶端新建一個空目錄 , 比如:F:\Project1 在該目錄上單擊右鍵,在彈出式菜單中選中SVN Checkout...,之后在“URL of Repository”文本框中填入你想要連接的Repository的地址,這個URL地址可以用瀏覽方式加入 。對于在本教程第二節建立的Repository,URL應該是“svn://xxx/project1” (xxx可以是服務器端主機名,也可以是服務器端的ip地址) 。然后點OK,會彈出一個認證對話框,輸入在教程第三節設置的用戶名和密碼 。點OK后就完成了對Repository的Checkout 。比如:在服務器端Repository中有一個a.txt文件,那么Checkout之后F:\Project1目錄下也會出現一個a.txt文件 。在本例中由于服務器端的Repository還未添加任何文件,所以在客戶端的F:\Project1下沒有文件被Checkout 。執行Checkout除了會在F:\Project1產生Repository存儲的文件及目錄外 , 還會產生了一個“.svn”的隱含目錄 , 該目錄是由subversion管理的,不要刪除或者手工改動其中的文件和目錄 ?,F在F:\Project1中的文件和目錄就叫做Repository的“Working Copy”簡寫“WC” (這個簡寫...汗) 。以后對Repository中文件和目錄的修改 , 添加,刪除的操作,都是通過對這個“Working Copy”的操作實現的 。Checkout執行完后 , 會發現F:\Project1目錄的圖標的左下角附著了一個小的狀態圖標 (當F:\Project1目錄中的文件改變時,這個狀態圖標也會隨之變化),它表示F:\Project1是一個Repository的“Working Copy”, F:\Project1內的所有文件和目錄也會有類似的狀態圖標 。2.添加文件 將要添加的文件或者目錄拷貝到F:\Project1下,然后在該文件或目錄上單擊右鍵,TortoiseSVN->Add , 點OK 。如果添加了不止一個文件或目錄,則鼠標不要在F:\Project1中點中任何文件,然后單擊右鍵,TortoiseSVN->Add,就可以添加多個文件或目錄 。這時文件的狀態圖標會發生變化 。Add命令只是告訴本地的“Working Copy”將該文件納入版本管理,并沒有將這個改變提交到服務器端, 如果想要別人也看見你對Repository的修改,你需要 在F:\Project1下單擊右鍵,SVN Commit...,將你所做的修改提交到Repository 。文件的狀態圖標也會更新 。不管你在“Working Copy”內添加、修改、刪除文件后,要想其他人也看見你的修改,都必須用Commit命令將所做修改遞交到服務器端的Repository 。3.修改文件 用文本編輯器或IDE對文件修改后, 文件的狀態圖標會變化, 然后單擊右鍵,SVN Commit... 提交修改,只有當執行Commit提交修改后,你所作的修改才會反映到服務器端的Repository中 。4.刪除文件 刪除文件時,選中要刪除的文件或目錄, 單擊右鍵 , TortoiseSVN->Delete,提交修改 。注意千萬不要用“Delete”鍵來刪除文件 , 否則將無法提交你的修改 。這一點對目錄的刪除來說尤為重要 。5
方法總結/如何使用TortoiseSVN工具進行TortoiseSVN是一個GUI客戶端,這個自動化指導為你展示了讓TortoiseSVN對話框顯示并收集客戶輸入,如果你希望編寫不需要輸入的腳本 , 你應該使用官方的Subversion命令行客戶端 。TortoiseSVN的GUI程序叫做TortoiseProc.exe 。
tortoisesvn怎么使用1
如果沒有TortoiseSVN客戶端,可以去這里下載:tortoisesvn.net/downloads.html,根據自己的實際情況下載對應版本 。
2
下載后安裝 , 在開始菜單中就能見到下面的圖標 , 說明安裝成功,現在就可以開始使用TortoiseSVN了 。
3
選定本地的一個文件夾存放從服務器下載的代碼 。
然后右擊這個文件夾,選擇“SVN CheckOut...” 。
4
填寫倉庫地址(URL) 。其他地方可以不用修改 。Version處可以修改,表示從指定的版本號開始 。
點擊“OK”按鈕就開始下載了 。
5
下載成功后,可以看到下圖這樣的文件夾 , 前面會有個綠色的對號 。
6
如果文件修改了圖標上會變成嘆號 。
如果要提交修改的文件,可以右擊該文件或者選中多個修改的文件,選擇“SVN Commit”,在彈出的對話框中必須填寫注釋信息Message,否則會提交失敗 。
7
新添加的文件或者文件夾前面會是問號 。
如果要提交這樣的文件,可右擊文件,選擇TortoiseSVN->Add,也需要填寫Message項 。
VisualSVN-Server Subversion TortoiseSVN 之間的區別、聯系有哪些?這三個軟件:VisualSVN-Server Subversion TortoiseSVN 就是版本控制軟件 ;
1、其中VisualSVN-Server 和 Subversion 這兩個軟件都是版本控制中服務器端要使用的軟件,簡單的理解就是所提交的代碼,就會存放到安裝這兩個軟件的電腦上,這兩個軟件就會自動記錄所提交的一些代碼另外還會保存你的歷史版本以防萬一你要查找以前的代碼;
2、其中這兩個軟件的功能類似,但是VisualSVN-Server這個軟件將很多配置 , 如添加服務等直接幫助完成了 , 比較好用,易上手,而Subversion 需要跟人配置一些東西,個人覺得使用第一個軟件就完全可以滿足要求了;
3、前面那兩個軟件的作用是配置服務器端, 那么TortoiseSVN 這個軟件的作用是什么呢?
它就是客戶端需要的軟件了 。用這個軟件就可以很方便的向服務器端提交最新修改的代碼 。還可以很方便的從服務器端更新最新版本的代碼 。另外還可以很方便的查看以前提交的代碼 。
總的來說 , 這三款軟件都是在軟件項目管理中必須的軟件 , 前兩款軟件功能類似,只是配置方法不同,而最后那個軟件就是與前兩款軟件中任意一款搭配使用的 。
tortoisesvn和visualsvn有什么區別前者是個客戶端連接工具 , 后者是個windows版的服務端安裝程序
TortoiseSVN和VisualSVN有什么區別TortoisSVN是客戶端 。VisualSVN是svn windows上搭建服務器使用的環境 。
TortoisSVN是windows上的客戶端工具俗名小烏龜 。服務器是任意操作系統,都不影響客戶端的使用 。
c++中&和&有什么區別他們不同點在于&&相當一個開關語句,就是說如果&&前面值為false那么他就不繼續執行后面的表達式;而&不管前面的值為什么 , 總是執行其后面的語句 。&可以是取地址運算符也可以是引用符,這就看你在什么情曠下用了;而&&是邏輯與的意思如if((a=78)&&(b=77))它不過是個比較運算符而已 。&&是boolean的邏輯運算 eg:if(1> 2&&3> 1)表示如果兩個條件都成立則執行之后的邏輯;&是按位與:intt=0x0F&0xF0;//t=0x00;intt=0xFF&0xF0;//t=0xF0;&&是與運算符,返回為bool值:boolt=(3<5)&&(5<7)//t=true;boolt=(3<5)&&(5<2)//t=false;&是位運算符,它會將兩邊的運算都計算出來,再進行與運算; &是用來處理0101這樣的2進制字符的位運算的 。&&是布爾邏輯運算符(短路運算),只要有一邊的運算結果為false,它都會馬上返回false;&&是處理true和false這樣的boolean運算 。
TortoiseSVN和VisualSVN有什么區別一個是客戶端,一個是服務器端
eclipse 中怎么使用tortoisesvnTortoise SVN:
安裝完成后,默認的右鍵菜單有SVN Update,SVN Commit,增加SVN Show log:右鍵->TortoiseSVN->Settings->General->Context Menu->選中Show log , 然后勾上 ok(在彈出的Show Log畫面中,勾上Show only affeted paths,就只看選中文件或者文件夾的修訂履歷)
在TortoiseSVN中,選擇程序的根目錄-》查看日志,可以查看所有人的提交記錄(并且可以根據,作者,時間,內容等進行過濾)
TortoiseSVN中防止錯誤提交:選中文件-》SVN Commit-》在彈出的對話框中選擇要忽略提交的文件,右鍵-》Move to changelist-》ignore-on-commit-》done
然后再次通過SVN Commit進來后,會發現 , ignore-on-commit組下面的文件會默認不選中,防止被錯誤提交
Tortoise SVN清楚默認保存的用戶,密碼,url等數據:TortoiseSVN->Settings->Saved Data
Visual SVN Server遷移:把Repositories目錄下的文件夾復制過去,然后在Tortoise SVN進行Relocate操作就可以了(修改機會會保留下來) 。
Eclipse SVN插件:
Team->Share Project->SVN->
Your project already has SVN directories. It was probably previously shared, or checkedout using another tool. It will be automatically shared using the following information.
User:
Host:-
Finish, Done!
Set svn:ignore on it via Team->Add to svn:ignore
在同步視圖,選中不需要版本控制的文件,右鍵,Add to svn:ignore
選中項目->Team->Show History 可以查看所有人、指定人的提交記錄(日期,提交人,備注)
導出代碼、文件Diff變更比較記錄:
選中需要比較的文件的根目錄,右鍵 -> SVN Commit -> 選中所有變更的文件,右鍵 -> Show defferences as unified diff(在這個右鍵界面中還可以復制到變更的文件一覽Copy path to clipboard) -> 在保存比較記錄(文本文件)
TortoiseSVN:報錯:Working Copy xxx locked,使用Clean Up(Clean up working copy status & include externals), ok
Visual SVN Server在修改機器密碼后不自動啟動,Services->VisualSVN Server->General Startup type & Log on account(換成當前使用的域帳號domain\username)
請教TortoiseSVN怎么用1.首先,假設你的電腦是win7 64位的 , 你要準備的東西:VisualSVN-Server-3.0.1-x64.msi和TortoiseSVN-1.8.8.25755-x64-svn-1.8.10.msi
2.安裝完之后
3.打開VisualSVN Server Manager,直接右鍵Repositories,Create New Repository,輸入Repository Name,假設輸入的是testsvn,OK
4.那么現在在Repositories下就會有一個資源名稱叫testsvn
5.那么我們現在右鍵Users,Create User , 輸入名稱密碼都是testsvn,OK,我們這就創建了一個叫testsvn的用戶了,以后可以用它檢入檢出數據了
6.現在我們要檢出這個資源的東西,右鍵Repositories下的testsvn,Copy Url to ClipBoard,這樣就選中了它的url了
7.我們在C盤右鍵 , 選擇SVN Checkout,在URL of repository粘貼 , OK
8.經過以上步驟之后,你可以檢出你的項目了 , 請嘗試在里面新建修改文件提交就行了
9.如果你要在eclipse里面使用也可以,因為你已經有了url和用戶名密碼
10.如果我重裝系統之后,資源是不是消失了?沒關系,在菜單欄的操作(A)-Properties里面設置你的Repositories Root,這樣 , 無論你怎么重裝,都沒有關系了,自己的svn,局域網的svn就這么配置好了 。
如何使用命令調用TortoiseSVN的提交功能TortoiseSVN是一個GUI客戶端 , 這個自動化指導為你展示了讓TortoiseSVN對話框顯示并收集客戶輸入,如果你希望編寫不需要輸入的腳本,你應該使用官方的Subversion命令行客戶端 。
TortoiseSVN的GUI程序叫做TortoiseProc.exe 。所有的命令通過參數/command:asdf指定,其中asdf是必須的命令名(命令名詳見”表 1. 有效命令及選項列表“) 。大多數此類命令至少需要一個路徑參數 , 使用/path:"some\path"指定 。在下面的命令表格中,命令引用的是/command:asdf參數,余下的代表了/path:"some\path"參數 。
因為一些命令需要一個目標路徑的列表(例如提交一些特定的文件),/path參數可以接收多個路徑,使用*分割 。
TortoiseSVN 使用臨時文件在 shell 擴展和主程序之間傳遞多個參數 。從 TortoiseSVN 1.5.0 開始 , 廢棄/notempfile參數 , 不再需要增加此參數 。
The progress dialog which is used for commits, updates and many more commands usually stays open after the command has finished until the user presses theOK button. This can be changed by checking the corresponding option in the settings dialog. But using that setting will close the progress dialog, no matter if you start the command from your batch file or from the TortoiseSVN context menu.
To specify a different location of the configuration file, use the parameter /configdir:"path\to\config\directory". This will override the default path, including any registry setting.
如果想在進度對話框執行完畢后自動關閉,而又不必設置永久性的參數,可以傳遞/closeonend參數 。
/closeonend:0 不自動關閉對話框
/closeonend:1 如果沒發生錯誤則自動關閉對話框
/closeonend:2 如果沒發生錯誤和沖突則自動關閉對話框
/closeonend:3如果沒有錯誤、沖突和合并,會自動關閉
下面的列表列出了所有可以使用TortoiseProc.exe訪問的命令,就像上面的描述,必須使用/command:asdf的形式 , 在列表中,因為節省空間的關系省略了/command的前綴 。
表 1. 有效命令及選項列表
命令
描述
:about顯示關于對話框 。如果沒有給命令也會顯示 。
:log打開日志對話框,/path 指定了顯示日志的文件或目錄,另外還有三個選項可以設置: /startrev:xxx、/endrev:xxx和/strict
:checkout打開檢出對話框 , /path指定了目標路徑 , 而/url制定了檢出的URL 。
:import打開導入對話框,/path 指定了數據導入路徑 。
:update將工作副本的/path更新到HEAD,如果給定參數/rev , 就會彈出一個對話框詢問用戶需要更新到哪個修訂版本 。為了防止指定修訂版本號/rev:1234的對話框,需要選項/nonrecursive和/ignoreexternals 。
:commit打開提交對話框,/path 指定了目標路徑或需要提交的文件列表,你也可以使用參數 /logmsg 給提交窗口傳遞預定義的日志信息,或者你不希望將日志傳遞給命令行 , 你也可以使用/logmsgfile:path,path 指向了保存日志信息的文件 。為了預先填入bug的ID(如果你設置了集成bug追蹤屬性) , 你可以使用/bugid:"the bug id here"完成這個任務 。
:add將/path的文件添加到版本控制。
:revert恢復工作副本的本地修改,/path說明恢復哪些條目 。
:cleanup清理中斷和終止的操作,將工作副本的/path解鎖 。
:resolve將/path指定文件的沖突標示為解決,如果給定/noquestion,解決不會向用戶確認操作 。
:repocreate在/path創建一個版本庫 。
:switch打開選項對話框 。/path 指定目標目錄 。
:export將/path的工作副本導出到另一個目錄,如果/path指向另一個未版本控制目錄,對話框會詢問要導出到/path的URL 。
:mergeOpens the merge dialog. The /path specifies the target directory. For merging a revision range, the following options are available: /fromurl:URL, /revrange:string. For merging two repository trees, the following options are available: /fromurl:URL, /tourl:URL, /fromrev:xxx and /torev:xxx. These pre-fill the relevant fields in the merge dialog.
:mergeallOpens the merge all dialog. The /path specifies the target directory.
:copyBrings up the branch/tag dialog. The /path is the working copy to branch/tag from. And the /url is the target URL. You can also specify the /logmsg switch to pass a predefined log message to the branch/tag dialog. Or, if you don't want to pass the log message on the command line, use /logmsgfile:path, where path points to a file containing the log message.
:settings打開設置對話框 。
:remove從版本控制里移除/path中的文件 。
:rename重命名/path的文件,會在對話框中詢問新文件,為了防止一個步驟中詢問相似文件,傳遞/noquestion 。
:diffStarts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is omitted, then the diff is done between the file in /path and its BASE. To explicitly set the revision numbers use /startrev:xxx and /endrev:xxx. If/blame is set and /path2 is not set, then the diff is done by first blaming the files with the given revisions.
:showcompare
Depending on the URLs and revisions to compare, this either shows a unified diff (if the option unified is set), a dialog with a list of files that have changed or if the URLs point to files starts the diff viewer for those two files.
The options url1, url2, revision1 and revision2 must be specified. The options pegrevision, ignoreancestry, blame and unified are optional.
:conflicteditorStarts the conflict editor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path.
:relocate打開重定位對話框,/path指定了重定位的工作副本路徑 。
:help打開幫助文件
:repostatus打開為修改檢出對話框,/path 指定了工作副本目錄 。
:repobrowserStarts the repository browser dialog, pointing to the URL of the working copy given in /path or /path points directly to an URL. An additional option /rev:xxx can be used to specify the revision which the repository browser should show. If the /rev:xxx is omitted, it defaults to HEAD. If /path points to an URL, the /projectpropertiespath:path/to/wcspecifies the path from where to read and use the project properties.
:ignore將/path中的對象加入到忽略列表,也就是將這些文件添加到 svn:ignore 屬性 。
:blame
為 /path 選項指定的文件打開追溯對話框 。
如果設置了 /startrev 和 /endrev 選項,不會顯示詢問追溯范圍對話框,直接使用這些選項中的版本號 。
如果設置了 /line:nnn 選項,TortoiseBlame 會顯示指定行數 。
也支持 /ignoreeol,/ignorespaces 和 /ignoreallspaces 選項 。
:cat將/path指定的工作副本或URL的文件保存到/savepath:path,修訂版本號在/revision:xxx , 這樣可以得到特定修訂版本的文件 。
:createpatch創建/path下的補丁文件 。
:revisiongraph顯示/path目錄下的版本變化圖 。
:lockLocks a file or all files in a directory given in /path. The 'lock' dialog is shown so the user can enter a comment for the lock.
:unlockUnlocks a file or all files in a directory given in /path.
:rebuildiconcacheRebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can't be avoided) is that the icons on the desktop get rearranged. To suppress the message box, pass /noquestion.
:properties顯示 /path 給出的路徑之屬性對話框 。
Examples (which should be entered on one line):
TortoiseProc.exe /command:commit
/path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt"
/logmsg:"test log message" /closeonend:0
TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0
TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt"
/startrev:50 /endrev:60 /closeonend:0
詳細使用TortoiseSVN的步驟TortoiseSVN是一個SVN的客戶端,下面是我以前不知道從哪復制的大致使用,希望對你有用:
五.客戶端的使用
1.Checkout Repository
首先要Checkout服務器端的Repository,
所謂的Checkout就是指獲得服務器端指定的Repository存儲的所有文件 。
這個Checkout和Visual Source Safe的Checkout意義完全不一樣 ,
VSS的Checkout指的是鎖定某個文件,如果你以前使用過VSS,
在學習Subversion時這個問題一定要注意 。
Checkout的具體方式是:
在客戶端新建一個空目錄,比如:F:\Project1
在該目錄上單擊右鍵,在彈出式菜單中選中SVN Checkout...,
之后在“URL of Repository”文本框中填入你想要連接的Repository的地址,
這個URL地址可以用瀏覽方式加入 。
對于在本教程第二節建立的Repository ,
URL應該是“svn://xxx/project1”
(xxx可以是服務器端主機名,也可以是服務器端的ip地址) 。
然后點OK,會彈出一個認證對話框,
輸入在教程第三節設置的用戶名和密碼 。
點OK后就完成了對Repository的Checkout 。
比如:在服務器端Repository中有一個a.txt文件,
那么Checkout之后F:\Project1目錄下也會出現一個a.txt文件 。
在本例中由于服務器端的Repository還未添加任何文件,
所以在客戶端的F:\Project1下沒有文件被Checkout 。
執行Checkout除了會在F:\Project1產生Repository存儲的文件及目錄外,
還會產生了一個“.svn”的隱含目錄 , 該目錄是由subversion管理的,
不要刪除或者手工改動其中的文件和目錄 。
現在F:\Project1中的文件和目錄就叫做Repository的“Working Copy”簡寫“WC”
(這個簡寫...汗) 。
以后對Repository中文件和目錄的修改,添加 , 刪除的操作,
都是通過對這個“Working Copy”的操作實現的 。
Checkout執行完后,
會發現F:\Project1目錄的圖標的左下角附著了一個小的狀態圖標
(當F:\Project1目錄中的文件改變時,這個狀態圖標也會隨之變化),
它表示F:\Project1是一個Repository的“Working Copy”,
F:\Project1內的所有文件和目錄也會有類似的狀態圖標 。
2.添加文件
將要添加的文件或者目錄拷貝到F:\Project1下,
然后在該文件或目錄上單擊右鍵,TortoiseSVN->Add,點OK 。
如果添加了不止一個文件或目錄 ,
則鼠標不要在F:\Project1中點中任何文件 ,
然后單擊右鍵,TortoiseSVN->Add,
就可以添加多個文件或目錄 。
這時文件的狀態圖標會發生變化 。
Add命令只是告訴本地的“Working Copy”將該文件納入版本管理,
并沒有將這個改變提交到服務器端,
如果想要別人也看見你對Repository的修改,你需要
在F:\Project1下單擊右鍵,SVN Commit...,
將你所做的修改提交到Repository 。
文件的狀態圖標也會更新 。
不管你在“Working Copy”內添加、修改、刪除文件后,
要想其他人也看見你的修改 ,
都必須用Commit命令將所做修改遞交到服務器端的Repository 。
3.修改文件
用文本編輯器或IDE對文件修改后,
文件的狀態圖標會變化,
然后單擊右鍵 , SVN Commit...
提交修改,只有當執行Commit提交修改后,
你所作的修改才會反映到服務器端的Repository中 。
4.刪除文件
刪除文件時,選中要刪除的文件或目錄,
單擊右鍵,TortoiseSVN->Delete,提交修改 。
注意千萬不要用“Delete”鍵來刪除文件,否則將無法提交你的修改 。
這一點對目錄的刪除來說尤為重要 。
5.放棄修改
當你添加、修改、刪除文件后 , 決定放棄修改,
你可以單擊右鍵,TortoiseSVN->Revert,
本地的“Working Copy”中的文件和目錄會恢復到你修改前的狀態 。
6.獲取Repository的最新版本
當一個團隊合作開發項目時,
每一個人都在不斷的對Repository進行更新,
你需要不斷的更新自己的“Working Copy”,
以獲取項目最新的文件 。
當第一次獲得最新Repository的文件時 ,
我們用Checkout命令,前面已經介紹了,
以后再獲取最新文件時就不用Checkout了 。
而改用Update命令 。
接著前面的例子,這時F:\Project1已經成為一個“Working Copy”了
(通過執行Checkout命令),現在其他人已經對Repository進行了修改,
我想將別人的修改反映到我的“Working Copy”中 ,
具體的方法是:在F:\Project1目錄上單擊右鍵,
SVN Update 。這時F:\Project1中的文件就是最新的版本了 。
注意,如果當你的“Working Copy”中有被修改的文件,
或者有被刪除的文件,并且還未提交這些修改時,
這些文件在執行Update過程中是不會被更新的 。
比如你修改了F:\Project1下a.txt文件,
還未提交修改,那么,
當你對F:\Project1進行Update時,
a.txt文件是不會更新為Repository上的a.txt文件的 。
所以如果想放棄當前的所有修改,
并將F:\Project1下所有文件及目錄更新到最新版本,
應該先對F:\Project1執行Revert命令再執行Update命令 。
7.subversion的版本控制模型
當你用subversion進行版本控制時,
Subversion會記錄你對Repository進行的每一次修改(包括添加,修改,刪除等等),
每修改一次Repository都會產生一個新的Revision(修訂版本號),
不同的Revision代表了不同時刻Repository的狀態,
因此我們可以用這個Revision回朔任意時刻Repository的狀態 ,
就像時間機器一樣,也就是說某一Revision
就是Repository在某一時刻的一個“快照” 。
注意:Revision不是針對某一個文件或者目錄,
而是針對整個Repository而言的 。
每修改一次Repository,Revision 都會增加1 。
Subversion的版本控制模型是一種叫做Copy-Modify-Merge
(拷貝-修改-合并)的模型 。
考慮這種情況:
張三和李四是公司同一個部門的同事 ,
他們共同維護一個文本文件a.txt,
并且對該文件進行版本控制 ,
因此他們把這個文件放到一個Repository上共同維護該文件 。
周一上午9點,張三和李四同時想對a.txt文件進行修改,
于是他們同時從Repository上取得該文件的最新版本(Revision 10),
然后進行修改 。過了三分鐘,張三首先完成了修改 ,
他在該文件的第五行修改了一個單詞的拼寫(將Typo改為Type) ,
于是張三對修改后的文件執行Commit命令,
將修改提交到服務器端的Repository中 。
這時Repository的Revision變為11 。
六分鐘過后,李四也完成了他的修改,
他修改了該文件第十行上的一個單詞拼寫(將He改為She),
于是他也對修改后的文件執行Commit命令 ,
這時Subversion 在提交修改時會發現,
李四修改的文件是Revision10的a.txt文件,
而不是最新的Revision 11的a.txt文件 。
于是,Subversion 提示李四在提交修改前 ,
應該先將Working Copy更新到最新版本,
李四執行Update命令將Working Copy更新到Revision 11,
這時Subversion會提示已經完成合并 ,
李四的a.txt文件的第五行的“Typo”已經變為了“Type”,
第十行還是“She”,就是說Subversion已經將張三的修改“合并”到李四的a.txt文件中了 。
之后,李四再執行Commit命令,就能將他對第十行的修改(將He改為She)
提交到服務器端的Repository中了(生成Revision 12) 。
但是這種合并在某些情況下會變得復雜一些 ,
比如:李四對a.txt文件的修改并不是第十行,
而是與張三同樣修改第五行的單詞,
李四將“Typo”改為“Typr”,并且提交修改,
這時Subversion會提示李四在提交修改前,
應該先將Working Copy更新到最新版本,
李四執行Update命令將Working Copy更新到Revision 11,
這時Subversion將Revision11的a.txt文件與
李四修改的a.txt文件進行合并時發現李四修改的同樣是第五行,
于是Subversion就無法判斷是李四的修改(“Tpyr”)
正確還是張三的修改(“Type”)正確,
因為他們都是在Revision10的a.txt基礎上作的修改 。
這種情況叫做Conflict(沖突),
a.txt文件的圖標會變成一個黃色三角 。
這時,只能依靠李四自己去判斷到底第三行應該修改為“Typr”還是“Type” 。
當李四確定修改之后,在a.txt文件上單擊右鍵 , TortoiseSVN->Resolved
告訴Subversion已經解決了Conflict 。
這時再執行Commit命令就能提交修改(生成Revision 12) 。
Subversion 這種控制方式保證了你對文件所作的修改都是基于文件的最新版本 。
8.“.svn”目錄
在客戶端Working Copy的每一層目錄中都會有一個“.svn”目錄,
該目錄是Subversion進行管理用的目錄 。
不要手動修改其中的文件 。
該目錄存儲了Working Copy的一個副本
(實際存儲副本的地方是F:\project1\.svn\text-base目錄),
比如:F:\Project1是一個Working Copy,
該目錄下有兩個文件a.txt和b.txt還有一個子目錄ccc,
子目錄ccc中還有一個d.txt文件 。
“.svn”目錄中存儲的是你最近一次執行完Update或者Commit命令之后當前目錄中文件的副本,
比如:F:\project1\.svn\text-base中存儲的a.txt和b.txt
是最近一次執行完Update或者Commit命令之后F:\project1下的a.txt和b.txt的拷貝 。
也就是說你所作的修改都是基于“.svn”目錄存儲的那些文件 。
這種機制可以讓我們在不連接網絡的情況下,
將Working Copy中的文件恢復到修改之前的狀態 。
Subversion的Revert命令就是利用了這種機制來實現的 。
比如你修改了F:\project1\a.txt文件 ,
這時你又改變了主意想放棄對該文件的修改 ,
你可以單擊右鍵,TortoiseSVN->Revert,
修改過的F:\project1\a.txt文件
就會被F:\project1\.svn\text-base中a.txt文件的副本所替代,
使得a.txt恢復到修改前的狀態 。
Working Copy中每一個子目錄下都會有一個“.svn”目錄,
并不是只有最上層目錄才有“.svn”目錄 。
所以,F:\project1\ccc下也有一個“.svn”目錄 ,
該目錄存儲的是F:\project1\ccc\d.txt的副本
(d.txt的副本位于F:\project1\ccc\.svn\text-base) 。
也就是說每個“.svn”目錄只存儲同級目錄中的“文件”副本,
而不存儲“目錄”副本 ?!?svn”目錄存有許多重要的內容,
所以前面說在刪除文件或目錄時,
必須用TortoiseSVN->Delete ,
而不能用“Delete”鍵來刪除文件或目錄,尤其是對于目錄的刪除 。
9.混合版本
Subversion的Working Copy被設計成一種能夠包含不同版本的文件共存的形式 。
比如F:\Project1是一個Working Copy,
該目錄下有兩個文件a.txt和b.txt 。
執行Update命令,將Working Copy更新到最新版本(Revision 24) 。
這時,a.txt和b.txt的Revision都是24
(其實對于單個文件來說并不存在Revision,
Revision是對于整個Repository而言的 ,
這里所指的是Repository的Revision24所存儲的a.txt和b.txt ,
但為了方便而采用這種描述方式 , 請注意,下同) 。
之后,你的同事修改了a.txt , 并且提交了修改,
這時Repository的Revision就變成25了 。
注意 , 這時你沒有再次執行Update ,
因此你的Working Copy的Revision還是24 。
這時你修改了b.txt文件,并提交修改 。
因為Revision25并沒有對b.txt文件進行修改,
因此你對b.txt文件的修改是基于b.txt文件最新的版本,
所以不會出現Conflict 。
當你提交b.txt的修改后 , 產生Revision26 。
這時你會發現你的Working Copy中的a.txt文件并不是Revision25中的a.txt文件,
它還是Revision24的a.txt文件,而你的b.txt文件是Revision26的b.txt文件 。
也就是說當你Commit時,你的Working Copy中只有你提交的那些文件是最新版本,
而其他沒有修改的文件并不會更新為最新版本 。
這樣就造成了你的Working Copy由不同的Revision文件所組成
(Revision24的a.txt文件和Revision26的b.txt文件) 。
前面說過在提交修改前必須保證你是在文件的最新版本基礎上修改 ,
如果在這種混合版本的情況下 ,
怎樣才能知道當前Working Copy中的文件是否為最新版本?
在前面所說的“.svn”目錄中有一個文件名為“entries”的文件,
該文件記錄了當前Working Copy中的每一個文件的Revision,
因此當你Commit時,Subversion會從該文件中取得你提交文件的Revision,
再與Repository的最新Revision一比較就可以知道你修改的文件是否基于該文件的最新版本 。
10.文件的鎖定
前面說過Subversion的版本控制模型是一種叫做Copy-Modify-Merge
(拷貝-修改-合并)的模型 。
該模型在對文本文件進行版本控制時工作的很好,
但是有些需要進行版本控制的文件并不是文本文件,
比如說圖像文件,這種模型在這種情況下就不能正常工作了,
因為文本文件可以合并,而二進制文件則無法合并 。
所以Subversion從1.2開始支持一種叫Lock-Modify-Unlock
(鎖定-修改-解鎖)的版本控制模型 。
在Windows下最常用的版本控制軟件Visual Source Safe(VSS)就是采用這種模型 。
這種模型要求在對一個文件修改前首先要鎖定這個文件,
然后才能修改,這時,別人將無法對該文件進行修改 ,
當修改完后再釋放鎖 , 使其他人可以對該文件進行鎖定,然后修改 。
鎖定文件的方法是:TortoiseSVN->Get Lock...再點OK按鈕,
這時就完成了對文件的鎖定 。
這時,如果其他人想對文件進行鎖定時,
Subversion會對他提示該文件已經被別人鎖定 。
當你修改完文件后 , 然后單擊右鍵,SVN Commit... ,
將修改提交,默認情況下,提交的時候就會對該文件解鎖 ,
如果你想仍然鎖定該文件,請在commit時彈出的對話框中選中keep lock復選框 。
11.文件的附加屬性
在Subversion中,每個文件可以擁有一種叫做附加屬性的東西 。
附加屬性描述了該文件所擁有的一些特性 。
Subversion已經預定義了一些附加屬性
(這里只是指Subversion已經定義了一些附加屬性的“名稱”,
并不是指已經將這些屬性附加在文件上了 ,
比如默認情況下文本文件一開始不含任何屬性,
直到人為的對該文件添加附加屬性),
并且你可以對文件添加自定義的屬性 。
Subversion對待附加屬性就像對待文件內容一樣,
當修改了一個文件的附加屬性(添加 , 改變,刪除附加屬性),
即使沒有對文件的內容進行修改,
同樣可以Commit該文件,就像更改了文件內容那樣 ,
Repository也會生成新的Revision,
所以從某種意義上來說,
Subversion不區別對待文件的附加屬性的修改和文件的內容的修改,
文件的附加屬性可以看成是一種特殊的文件內容 。
Subversion預定義了若干個附加屬性,
這里只討論“svn:needs-lock”屬性,
因為它與我們上面的文件鎖定會產生的一個問題有關 。
其他的屬性可以參考Subversion自帶的幫助文檔 。
考慮這種情況 ,
張三和李四同時想對一個圖片文件a.jpg作修改,
張三在修改時先將該文件鎖定,然后進行修改,
同時李四也開始對該文件進行修改,
但李四忘記了對非文本文件進行修改時應該先鎖定該文件 。
張三首先對該文件修改完畢 , 于是張三向服務器提交了他的修改 。
之后,李四也完成了修改,當他提交修改時,
Subversion提示李四的文件版本不是最新的,
在Commit之前應先更新a.jpg到最新版本,
由于圖片文件無法合并,
這就意味著張三和李四之間必定有一個人的修改會作廢 。
應用“svn:needs-lock”屬性可以避免這個問題 。
當一個文件擁有“svn:needs-lock”屬性時 ,
該文件在沒有鎖定時,文件的圖標是灰色的 ,
表示該文件是一個只讀文件(該文件的Windows只讀屬性的復選框為選中),
這個灰色的圖標就會提醒想對該文件進行修改的人 ,
在修改該文件之前應該首先鎖定該文件 。
鎖定該文件之后,文件的只讀屬性就會去掉了,
一旦釋放掉鎖,文件的圖標又會變成灰色,
文件也會變成只讀的了 。
李四在這種情況下就會避免在沒有鎖定文件時對文件進行修改 。
對非文本文件添加“svn:needs-lock”
屬性應該在將該文件第一次添加到Repository時就設置,
當然,一個文件可以在任意時刻添加附加屬性,
這樣做是為了減少李四所遇到的那個問題發生的幾率 。
具體的方法是:
首先將a.jpg文件拷貝到Working Copy中,
然后在該文件上單擊右鍵,
TortoiseSVN->Add,告訴Subversion要將該文件納入版本控制,
接著在該文件上單擊右鍵并選中屬性,
在彈出的屬性對話框中選中Subversion頁 。
在下拉框中選中“svn:needs-lock”,
并在下面的文本框中填入“*”
(其實這里填什么都無所謂,只要文件有“svn:needs-lock”附加屬性就行),
之后點Set按鈕,“svn:needs-lock”附加屬性就設置好了 。
然后執行Commit命令提交修改 。
這時當其他人執行Update時,
a.jpg就會添加到他們的Working Copy中,
并且文件的附加屬性也會隨文件一起被得到 。
可以看到a.jpg此時的圖標就是灰色的 ,
文件的Windows屬性也是只讀的 。
12.回到以前的版本
由于Subversion會記錄你對Repository的每一次修改,
因此能夠很容易的獲得Repository以前某一時刻的狀態 。
比如:現在Repository的最新Revision是56,
這時我想看看Repository在Revision24時的狀態 ,
可以在本地的Working Copy中單擊右鍵 ,
TortoiseSVN->Update to Revision... ,
然后輸入你想要回復到的Revision號,點OK按鈕 。
回到以前的版本還有一種情況是我想將Repository的
最新Revision的狀態與以前某一個Revision的狀態一模一樣,
上面那種方法就不適合,
上面的那種方法只是將本地的Working Copy回復到以前的狀態,
而服務器端的Repository并沒有回到以前的狀態 。
將Repository的最新Revison的狀態回復到以前某個Revision的狀態具體的方法是:
先執行Update命令將Working Copy更新到最新的Revision,
然后在Working Copy中單擊右鍵 ,
TortoiseSVN->Show Log,
彈出的Log Messages窗口中會顯示該Repository的所有Revision,
選中最新的Revision,之后按住Shift鍵,
再單擊你想回復到的Revision+1的那個Revision
(比如Repository的最新Revision是30,
你想將Repository的狀態回復到Revision16,
那么就選中Revision30,再按住Shift鍵 ,
選中Revision17,
就是說選中Revision17到Revision30之間的所有Revision) 。
然后在選中的Revision上單擊右鍵,
選中“Revert changes from these revision” 。
再點Yes按鈕,就可以將Working Copy的狀態回復到目標Revision 。
注意,此時只是Working Copy回復到目標Revision,
之后應該用Commit提交修改,
這樣Repository最新狀態就與目標Revision的狀態一樣了 。
這兩種回復到以前版本的方式截然不同,
第一種方式是將整個Working Copy回復到某個Revision ,
也就是說這種方式Working Copy中的“.svn”目錄所存的文件副本也與目標Revision的一模一樣,
如果這時你沒有修改文件,你將不能執行Commit命令 。
而第二種方式客戶端Working Copy中的
“.svn”目錄所存的副本始終是最新的Revision的文件副本
(這里我們基于一個假設:在Update之后沒有其他人對Repository做修改) 。
這種方式就像是我們自己手工將Working Copy的文件狀態修改為目標Revision,
在修改之后提交修改一樣 。
13.查看修改
有時我們對Working Copy的許多文件進行了修改,
這些文件位于不同的子目錄,我們就可以在Working Copy的最上層目錄單擊右鍵,
TortoiseSVN->Check For Modifications ,
彈出的對話框就會顯示你所做的所有修改明細 。
還有一種情況是我們的Working Copy已經很久沒有執行Update命令,
我們想看看Working Copy中有哪些文件已經發生修改了 ,
這時就可以在Working Copy的最上層目錄單擊右鍵,
TortoiseSVN->Check For Modifications,
在彈出的對話框點擊Check Repository按鈕后,
就會顯示服務器端已經修改了的文件 。
該方法還有一個用途就是查看文件的鎖定,
當你想鎖定一個文件時,你想先看看這個文件有沒有被別人鎖定,
點擊Check Repository按鈕會顯示服務器端Repository所有被鎖定的文件,
如果你想鎖定的文件不在這里面,那就說明該文件目前沒有人鎖定 。
tortoisesvn安裝后怎么打開安裝直接安裝就行了,沒什么要注意的,安裝好了以后不管你在哪個地方右擊,菜單欄里都會多出來三二個選項,SVNcheckout,和tortoiseSVN,第一個是svn檢出,也就是從服務器上下載資源,這個只會在第一次檢出時才會用到,第二個就包含了各種選項了,文件加入,刪除,設置,清理 , 去除版本控制,還原,等待都在里面 , 建議你安裝好svn后就安裝一個與之版本對應的中文語言包,安裝好語言包后需要切換才能看到效果在第二個選項里->settings--在打開的窗口里設置語言,language應該是很顯眼的吧 , 安裝使用就這么多了,不過首先你要有一個服務器地址供你檢出
svn如何使用svn(subversion)是近年來崛起的版本管理工具,是cvs的接班人 。目前,絕大多數開源軟件都使用svn作為代碼版本管理軟件 。如何快速建立Subversion服務器 , 并且在項目中使用起來,這是大家最關心的問題 , 與CVS相比,Subversion有更多的選擇,也更加的容易,幾個命令就可以建立一套服務器環境,
本文是使用Subversion最快速的教程,在最短的時間里幫助您建立起一套可用的服務器環境,只需略加調整就可以應用到實際項目當中 。
本教程分為以下幾個部分,為了說明簡單 , 教程是在windows下使用的方式,以方便資源有限的項目使用 。在UNIX環境下 , 只是安裝方式不同,命令執行并無太大區別 。
工具/原料
Subversion服務器程序安裝包
Subversion的Windows客戶端TortoiseSVN安裝包
方法/步驟
1軟件下載
、下載Subversion服務器程序
到官方網站的下載二進制安裝文件,來到二進制包下載部分,找到 Windows NT, 2000, XP and 2003部分,然后選擇Apache 2.0 或者 Apache 2.2,這樣我們可以看到許多下載的內容,目前可以下載Setup-Subversion-1.7.12.msi。
、下載Subversion的Windows客戶端TortoiseSVN 。
TortoiseSVN是擴展Windows Shell的一套工具,可以看作Windows資源管理器的插件,安裝之后Windows就可以識別Subversion的工作目錄 。
官方網站是TortoiseSVN , 下載方式和前面的svn服務器類似 , 在Download頁面的我們可以選擇下載的版本,目前的最高穩定版本的安裝文件為TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi 。
2svn服務器和客戶端安裝
、安裝Subversion,直接運行Setup-Subversion-1.5.3.msi,根據提示安裝即可,這樣我們就有了一套服務器可以運行的環境 。
、安裝TortoiseSVN,同樣直接運行TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi按照提示安裝即可 , 不過最后完成后會提示是否重啟,其實重啟只是使svn工作拷貝在windows中的特殊樣式生效,與所有的實際功能無關,這里為了立刻看到好的效果,還是重新啟動機器 。
、安裝svn的客戶端程序,需要的話還可以安裝svn的語言包,注意語言包的版本也必須與客戶端程序的版本一致
3建立版本庫(Repository)
運行Subversion服務器需要首先要建立一個版本庫(Repository) , 可以看作服務器上存放數據的數據庫,在安裝了Subversion服務器之后 , 可以直接運行,如:
svnadmin create E:\svndemo\repository
就會在目錄E:\svndemo\repository下創建一個版本庫 。
我們也可以使用TortoiseSVN圖形化的完成這一步:
在目錄E:\svndemo\repository下"右鍵->TortoiseSVN->Create Repository here...“ , 然后可以選擇版本庫模式,這里使用默認即可,然后就創建了一系列目錄和文件 。
步驟閱讀 .4SVN配置用戶和權限
來到E:\svndemo\repository\conf目錄 , 修改svnserve.conf:
# [general]
# password-db = passwd
改為:
[general]
password-db = passwd
然后修改同目錄的passwd文件,去掉下面三行的注釋:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后變成:
[users]
harry = harryssecret
sally = sallyssecret
在passwd文件中,“=”前的字符就是用戶名,后面的就是密碼 。還要注意“[users]”前面的注釋“#”一定要刪除掉 。
步驟閱讀 .5運行獨立服務器
在任意目錄下運行:
svnserve -d -r E:\svndemo\repository 我們的服務器程序就已經啟動了 。注意不要關閉命令行窗口,關閉窗口也會把svnserve停止 。
6初始化導入
來到我們想要導入的項目根目錄,在這個例子里是E:\svndemo\initproject,目錄下有一個readme.txt文件:
右鍵->TortoiseSVN->Import...
在URL of repository輸入“svn://localhost/trunk”
在Import Message中輸入你的日志信息
完成之后目錄沒有任何變化,如果沒有報錯,數據就已經全部導入到了我們剛才定義的版本庫中 。
需要注意的是,這一步操作可以完全在另一臺安裝了TortoiseSVN的主機上進行 。例如運行svnserve的主機的IP是133.96.121.22 , 則URL部分輸入的內容就是“svn://133.96.121.22/trunk” 。
步驟閱讀 .7基本客戶端操作
取出版本庫到一個工作拷貝:
來到任意空目錄下,在本例中是E:\svndemo\wc1,運行右鍵->Checkout,在URL of repository中輸入svn://localhost/trunk,這樣我們就得到了一份工作拷貝 。
在工作拷貝中作出修改并提交:
打開readme.txt , 作出修改 , 然后右鍵->Commit...,這樣我們就把修改提交到了版本庫,我們可以運行 。
察看所作的修改:
readme.txt上右鍵->TortoiseSVN->Show Log , 這樣我們就可以看到我們對這個文件所有的提交 。在版本1上右鍵->Compare with working copy,我們可以比較工作拷貝的文件和版本1的區別 。
最后,所有的內容都已經錄制為動畫文件,大家可以參考 。
關于本教程大家有什么意見 , 可以這里討論。
如果更新文件以后,有兩個人或者多個人同時修改了某個文件的某個位置,是否沖突,(一般不會這樣子,因為上傳的版本是可以編譯通過的,而且每個人負責自己的模塊,不會多人獨立修改同一個文件,別人也是先更新,后上傳修改,,,,)
開發者習慣性動作 。早上上班第一件事就是更新svn版本庫,再開始一天的工作 。
晚上下班,或者其他時候要上傳東西可以直接上傳因為你負責的東西沒人去修改 。
沖突是怎么產生的呢:因為不同的人 , 同時修改了同一個文件的同一個地方,這個時候,他提交了,你沒有提交,你就提交不了 , 這個時候 , 你要先更新,更新就會出現代碼沖突問題 。最好不要多人同時修改一個文件,公用的文件,更改之前要和大家溝通一下,或者解決沖突 呵呵
先更新,沒有沖突,再提交 。有沖突,解決沖突再提交 。否則也提交不了 。
對于一些處于沖突狀態下的文件 ,右鍵TortoiseSVN ->Resolved,解決沖突 。解決沖突: http://www.blogjava.net/jasmine214--love/archive/2011/04/07/347769.html
更新-解決沖突-刪掉以下三個文件-提交(如果自己沒有修改的文件有沖突,刪除再更新即可,自己修改的文件解決沖突)
test.php.mine是沖突前自己的文件
test.php.版本號是沖突前本地的版本文件
test.php.服務器的版本號是沖突后服務器版本文件
END注意事項
如果修改文件后提交不了,大多是因為版本不一致造成的 。更新一下,不產生沖突的情況,就可以提交了 。
更新文件 , 如果出現沖突的情況,打開沖突文件test.php會看到類似以下的內容
<<<<<<<<<<<<<<<
asdfadfadfadf
11111111111111
=======
asdfadfadfadf
111111111111111
222222222222
>>>>>>>>>>>>>>>>
結合別人修改的內容和自己修改的內容 , 然后把文件中的>>>>>>這類沖突符號去掉 。去掉后,還是不能提交的 , 為什么?因為沖突時會產生三個文件,有這三個文件存在肯定提交不了 。
客戶端用的tortoisesvn(這個估計程序員用的最多),沖突時會多產生,三個文件
test.php.mine是沖突前自己的文件
test.php.版本號是沖突前本地的版本文件
test.php.服務器的版本號是沖突后服務器版本文件
提交的時候,把這三個文件刪除掉就可以提交了 。
產生覆蓋的原因 。
a) , 在修改沖突文件test.php時,把別人代碼都刪除掉了,只留下了自己的代碼 。這樣就會產生覆蓋了 。
b),把test.php.mine中的內容直接copy到test.php文件,這樣也會產生代碼覆蓋 。
上面二種情況都是我親眼看到新手這樣操作的 , 要避免這二種操作方法 。
SVN中如何執行clean up在這里不說svn cleanup成功的,有得人cleanup還是會失敗 , 這個時候,在要清理的文件夾上點右鍵,菜單:TortoiseSVN--選擇cleanup,會出現一個菜單欄 , 在你菜單欄有一個屬性breaklock意思是打破鎖定,你勾選打破鎖定,然后cleanup就會成功,之后再去項目中cleanup就可以了 , 之后svn更新,提交都是正常的 。
網上說的需要下載sqlite3.dll,使用給我這種方法就不需要下載了
如何用命令行實現TortoiseSVN命令TortoiseSVN是一個GUI客戶端,這個自動化指導為你展示了讓TortoiseSVN對話框顯示并收集客戶輸入,如果你希望編寫不需要輸入的腳本,你應該使用官方的Subversion命令行客戶端 。
TortoiseSVN的GUI程序叫做TortoiseProc.exe 。所有的命令通過參數/command:asdf指定,其中asdf是必須的命令名(命令名詳見”表 1. 有效命令及選項列表“) 。大多數此類命令至少需要一個路徑參數,使用/path:"some\path"指定 。在下面的命令表格中 , 命令引用的是/command:asdf參數,余下的代表了/path:"some\path"參數 。
因為一些命令需要一個目標路徑的列表(例如提交一些特定的文件),/path參數可以接收多個路徑,使用*分割 。
TortoiseSVN 使用臨時文件在 shell 擴展和主程序之間傳遞多個參數 。從 TortoiseSVN 1.5.0 開始,廢棄/notempfile參數,不再需要增加此參數 。
The progress dialog which is used for commits, updates and many more commands usually stays open after the command has finished until the user presses theOK button. This can be changed by checking the corresponding option in the settings dialog. But using that setting will close the progress dialog, no matter if you start the command from your batch file or from the TortoiseSVN context menu.
To specify a different location of the configuration file, use the parameter /configdir:"path\to\config\directory". This will override the default path, including any registry setting.
如果想在進度對話框執行完畢后自動關閉,而又不必設置永久性的參數,可以傳遞/closeonend參數 。
/closeonend:0 不自動關閉對話框
/closeonend:1 如果沒發生錯誤則自動關閉對話框
/closeonend:2 如果沒發生錯誤和沖突則自動關閉對話框
/closeonend:3如果沒有錯誤、沖突和合并,會自動關閉
下面的列表列出了所有可以使用TortoiseProc.exe訪問的命令,就像上面的描述,必須使用/command:asdf的形式,在列表中,因為節省空間的關系省略了/command的前綴 。
表 1. 有效命令及選項列表
命令
描述
:about顯示關于對話框 。如果沒有給命令也會顯示 。
:log打開日志對話框,/path 指定了顯示日志的文件或目錄,另外還有三個選項可以設置: /startrev:xxx、/endrev:xxx和/strict
:checkout打開檢出對話框 , /path指定了目標路徑,而/url制定了檢出的URL 。
:import打開導入對話框 , /path 指定了數據導入路徑 。
:update將工作副本的/path更新到HEAD,如果給定參數/rev,就會彈出一個對話框詢問用戶需要更新到哪個修訂版本 。為了防止指定修訂版本號/rev:1234的對話框,需要選項/nonrecursive和/ignoreexternals 。
:commit打開提交對話框,/path 指定了目標路徑或需要提交的文件列表,你也可以使用參數 /logmsg 給提交窗口傳遞預定義的日志信息,或者你不希望將日志傳遞給命令行,你也可以使用/logmsgfile:path,path 指向了保存日志信息的文件 。為了預先填入bug的ID(如果你設置了集成bug追蹤屬性),你可以使用/bugid:"the bug id here"完成這個任務 。
:add將/path的文件添加到版本控制。
:revert恢復工作副本的本地修改,/path說明恢復哪些條目 。
:cleanup清理中斷和終止的操作,將工作副本的/path解鎖 。
:resolve將/path指定文件的沖突標示為解決,如果給定/noquestion,解決不會向用戶確認操作 。
:repocreate在/path創建一個版本庫 。
:switch打開選項對話框 。/path 指定目標目錄 。
:export將/path的工作副本導出到另一個目錄,如果/path指向另一個未版本控制目錄,對話框會詢問要導出到/path的URL 。
:mergeOpens the merge dialog. The /path specifies the target directory. For merging a revision range, the following options are available: /fromurl:URL, /revrange:string. For merging two repository trees, the following options are available: /fromurl:URL, /tourl:URL, /fromrev:xxx and /torev:xxx. These pre-fill the relevant fields in the merge dialog.
:mergeallOpens the merge all dialog. The /path specifies the target directory.
:copyBrings up the branch/tag dialog. The /path is the working copy to branch/tag from. And the /url is the target URL. You can also specify the /logmsg switch to pass a predefined log message to the branch/tag dialog. Or, if you don't want to pass the log message on the command line, use /logmsgfile:path, where path points to a file containing the log message.
:settings打開設置對話框 。
:remove從版本控制里移除/path中的文件 。
:rename重命名/path的文件,會在對話框中詢問新文件 , 為了防止一個步驟中詢問相似文件 , 傳遞/noquestion 。
:diffStarts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is omitted, then the diff is done between the file in /path and its BASE. To explicitly set the revision numbers use /startrev:xxx and /endrev:xxx. If/blame is set and /path2 is not set, then the diff is done by first blaming the files with the given revisions.
:showcompare
Depending on the URLs and revisions to compare, this either shows a unified diff (if the option unified is set), a dialog with a list of files that have changed or if the URLs point to files starts the diff viewer for those two files.
The options url1, url2, revision1 and revision2 must be specified. The options pegrevision, ignoreancestry, blame and unified are optional.
:conflicteditorStarts the conflict editor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path.
:relocate打開重定位對話框,/path指定了重定位的工作副本路徑 。
:help打開幫助文件
:repostatus打開為修改檢出對話框,/path 指定了工作副本目錄 。
:repobrowserStarts the repository browser dialog, pointing to the URL of the working copy given in /path or /path points directly to an URL. An additional option /rev:xxx can be used to specify the revision which the repository browser should show. If the /rev:xxx is omitted, it defaults to HEAD. If /path points to an URL, the /projectpropertiespath:path/to/wcspecifies the path from where to read and use the project properties.
:ignore將/path中的對象加入到忽略列表,也就是將這些文件添加到 svn:ignore 屬性 。
:blame
為 /path 選項指定的文件打開追溯對話框 。
如果設置了 /startrev 和 /endrev 選項,不會顯示詢問追溯范圍對話框,直接使用這些選項中的版本號 。
如果設置了 /line:nnn 選項 , TortoiseBlame 會顯示指定行數 。
也支持 /ignoreeol,/ignorespaces 和 /ignoreallspaces 選項 。
:cat將/path指定的工作副本或URL的文件保存到/savepath:path,修訂版本號在/revision:xxx,這樣可以得到特定修訂版本的文件 。
:createpatch創建/path下的補丁文件 。
:revisiongraph顯示/path目錄下的版本變化圖 。
:lockLocks a file or all files in a directory given in /path. The 'lock' dialog is shown so the user can enter a comment for the lock.
:unlockUnlocks a file or all files in a directory given in /path.
:rebuildiconcacheRebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can't be avoided) is that the icons on the desktop get rearranged. To suppress the message box, pass /noquestion.
:properties顯示 /path 給出的路徑之屬性對話框 。
Examples (which should be entered on one line):
TortoiseProc.exe /command:commit
/path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt"
/logmsg:"test log message" /closeonend:0
TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0
TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt"
/startrev:50 /endrev:60 /closeonend:0
tortoisesvn怎么使用安裝直接安裝就行了,沒什么要注意的,安裝好了以后不管你在哪個地方右擊,菜單欄里都會多出來二個選項,
SVN checkout, 和tortoiseSVN,
第一個是svn檢出,也就是從服務器上下載資源,這個只會在第一次檢出時才會用到 , 第二個就包含了各種選項了,文件加入 , 刪除,設置,清理,去除版本控制,還原,等待都在里面,
建議你安裝好svn后就安裝一個與之版本對應的中文語言包,安裝好語言包后需要切換才能看到效果
在第二個選項里 -> settings -- 在打開的窗口里設置語言,language應該是很顯眼的吧,
安裝使用就這么多了 , 不過首先你要有一個服務器地址供你檢出
tortoisesvn怎么使用tortoise svn的使用和別的軟件不太一樣,沒有一個統一的入口界面,是直接集成到了右鍵菜單上,你在某文件夾上點右鍵,就可以找到它
怎么在eclipse中安裝tortoisesvn插件方法/步驟
首先,需要安裝eclipse,如果你還不知道如何安裝eclipse的話,建議百度下 。設置相關的環境變量等等,安裝jdk,完成eclipse的安裝 。
2
安裝之后 , 打開eclipse,點擊“幫助”,之后選擇“安裝新軟件” 。
3
之后,在彈出的安裝頁面,點擊“添加”,在添加頁面填寫
名稱: Subclipse 1.6.x (Eclipse 3.2+)
位置: http://subclipse.tigris.org/update_1.6.x
填寫完成之后,點擊“確定” 。
如何在eclipse中使用svn工具:SVNeclipse方法:打開SVN資源庫,在想要刪除的項目上右鍵,選擇刪除可以寫一下刪除的原因 , 點OK即可
eclipse中怎么使用svn服務器Eclipse中SVN安裝方式有以下幾幾種:在線安裝,這種方式國內無法正常下載,因為google被屏蔽 。離線安裝,即下載離線包(附件)然后直接復制到安裝目錄下的Common\plugins 。離線安裝,link方式,在Eclipse安裝目錄下的dropins目錄下新建一個文本文件,注意以.link結尾,內容是 path="svn插件解壓路徑" 。然后重啟Eclipse或Myeclipse即可在window showView other中選擇SVN資源庫了 。
Eclipse下如何使用SVN簡單介紹一些基本操作1.同步在Eclipse下,右擊你要同步的工程-team-與資源庫同步-這時會進入同步透視圖,會顯示出本機與SVN上內容有不同的文件,雙擊文件名,會顯示出兩個文件中哪里不同;2.提交在同步透視圖下有"灰色向右的箭頭,表示你本機修改過",右擊該文件,可以選擇提交操作;3.覆蓋/更新在同步透視圖下有"藍色向左的箭頭,表示svn修改過",右擊該文件,可以選擇覆蓋/更新操作;Eclipse使用SVN圖標說明1.灰色向右箭頭:本地修改過2.藍色向左箭頭:SVN上修改過3.灰色向右且中間有個加號的箭頭:本地比SVN上多出的文件4.藍色向左且中間有個加號的箭頭:SVN上比本地多出的文件5.灰色向右且中間有個減號的箭頭:本地刪除了,而SVN上未刪除的文件6.藍色向左且中間有個減號的箭頭:SVN上刪除了,而本地未刪除的文件7.紅色雙向箭頭:SVN上修改過,本地也修改過的文件
怎么安裝使用TortoiseSVN中文版第一步:下載軟件 。
可以自己去官網下載,但要注意新浪SAE不支持TortoiseSVN 1.8以上的版本
第二步:先安裝好TortoiseSVN-1.7.13.24257-win32-svn-1.7.10,然后再安裝中文包
第三步:再直接雙擊LanguagePack_1.7.13.24257-win32-zh_CN中文安裝,在任意位置點擊右鍵->TortoiseSVN->Setting頁面,如圖示選擇中文,點擊確定即可 。到此,就安裝完成了 。
第四步:新建文件夾project,在該文件夾上點右鍵設置賬號密碼,連接新浪Svn庫,參加圖示 , 即可設置好用戶名、密碼.到此,就大功告成了 。
tortoisesvn怎么安裝中文語言包1
請自行百度下載安裝TortoiseSVN
2
啟動TortoiseSVN 可以看到是英文界面
3
我們在百度上搜索SVN
4
在TortoiseSVN 官網點擊downloads
5
可以看到有很多語言包可以下載
6
我們選擇簡體中文的64位版本下載
你可以按照你的系統來下載
7
保存到本地
8
開始安裝
9
安裝完成
10
打開TortoiseSVN 的設置
11
在語言這里的下拉里面選擇中文簡體
12
然后點擊確定
并重新啟動TortoiseSVN ;中文就出現啦
TortoiseSVN怎么漢化,TortoiseSVN怎么改成中文【tortoisesvn】1、想改成中文,先需要到網上下載TortoiseSVN的漢化包 , 可以從官網進行下載;
電腦中如何漢化TortoiseSVN工具|安裝的TortoiseSVN怎么改成中文1
2、打開TortoiseSVN官網的下載界面,可以根據需要選擇中文簡體或繁體,以及32位和64位,進行下載;
電腦中如何漢化TortoiseSVN工具|安裝的TortoiseSVN怎么改成中文2
3、下載完成后雙擊進行安裝;
電腦中如何漢化TortoiseSVN工具|安裝的TortoiseSVN怎么改成中文3
4、在安裝程序中完成漢化包的安裝;
電腦中如何漢化TortoiseSVN工具|安裝的TortoiseSVN怎么改成中文4
5、完成安裝后在右鍵菜單中打開設置選項;
電腦中如何漢化TortoiseSVN工具|安裝的TortoiseSVN怎么改成中文5
6、將語言一欄改選成中文即可 。
電腦中如何漢化TortoiseSVN工具|安裝的TortoiseSVN怎么改成中文6
需要注意的是,下載的svn漢化包版本需要和SVN版本一致 , 否則是無效的 。
如果不習慣在電腦中使用英文版的TortoiseSVN軟件 , 那么可以通過上述介紹的方法進行漢化 。
tortoisesvn 怎么安裝svn中文語言包(tortoisesvn中文補丁) v1.8.7.25475(32/64位)http://www.ddooo.com/softdown/53071.htm
壓縮包內含有32及64位svn中文語言包(tortoisesvn中文補丁),大家可以視自已的操作系統選擇進行安裝
tortoisesvnx64怎樣安裝1、先下載,并確定自己的系統環境下載地址在:https://tortoisesvn.net/downloads.zh.html2、先安裝程序,后安裝語言包(安裝與其他程序相同,一路Next就行 。)3、設置語言 。安裝程序后,桌面或其他目錄里點右鍵選擇 TortoiseSVN -> setting4、至此安裝完畢 。附加,相關在線手冊 , 參見:https://tortoisesvn.net/docs/release/TortoiseMerge_zh_CN/index.html
怎么安裝使用TortoiseSVN中文版首先,假設你的電腦是win7 64位的,你要準備的東西:VisualSVN-Server-3.0.1-x64.msi和TortoiseSVN-1.8.8.25755-x64-svn-1.8.10.msi2.安裝完之后3.打開VisualSVN Server Manager,直接右鍵Repositories , Create New Repository,輸入Repository Name , 假設輸入的是testsvn,OK4.那么現在在Repositories下就會有一個資源名稱叫testsvn5.那么我們現在右鍵Users,Create User,輸入名稱密碼都是testsvn,OK,我們這就創建了一個叫testsvn的用戶了 , 以后可以用它檢入檢出數據了6.現在我們要檢出這個資源的東西,右鍵Repositories下的testsvn,Copy Url to ClipBoard,這樣就選中了它的url了7.我們在C盤右鍵,選擇SVN Checkout,在URL of repository粘貼,OK8.經過以上步驟之后,你可以檢出你的項目了,請嘗試在里面新建修改文件提交就行了9.如果你要在eclipse里面使用也可以,因為你已經有了url和用戶名密碼10.如果我重裝系統之后,資源是不是消失了?沒關系 , 在菜單欄的操作(A)-Properties里面設置你的Repositories Root,這樣,無論你怎么重裝 , 都沒有關系了,自己的svn,局域網的svn就這么配置好了 。
怎么安裝TortoiseSVNsvn 64位(tortoisesvn 64) v2.4.0.2官方最新版http://www.ddooo.com/softdown/46255.htm
壓縮包含 TortoiseSVN-1.9.4.27285-win32-svn-1.9.4.msi 和 LanguagePack_1.9.4.27285-win32-zh_CN.msi 兩個文件;
先安裝 TortoiseSVN-1.9.4.27285-win32-svn-1.9.4.msi ,這個是TortoiseSVN官方安裝文件;
再安裝 LanguagePack_1.9.4.27285-win32-zh_CN.msi,這個是中文語言包 。
怎么安裝使用TortoiseSVN中文版TortoiseSVN安裝過程:
1、下載軟件后,雙擊程序進行安裝,點擊“Next”;
2、在許可證協議頁面,選擇“I Accept the terms in the License Agreement”,點擊“Next”;
3、在自定義選項頁面,可以選擇安裝目錄 , 也可以直接點擊“Next”進行安裝;
4、點擊“Install”開始安裝;
5、安裝完成后,點擊“Finsh”;
建立庫:
1、新建文件夾,目錄和文件夾名稱最好都用英文,不要使用中文;
2、打開文件夾,在空白處按下“shift鍵+鼠標右鍵”;
3、在彈出的菜單中選擇“TortoiseSVN - Create repository here”;
4、彈出對話框,提示創建成功,并自動在文件夾中創建了目錄結構;
導入項目:
1、打開已有的項目文件夾,在空白處按下“shift鍵+鼠標右鍵”;
2、在彈出的菜單中選擇“TortoiseSVN - Import”;
3、選擇導入路徑,填寫備注信息,點擊“OK”開始導入;
4、導入完成后會彈出提示,可以拖動滾動條查看導入的文件,點擊“OK”,完成導入;
如何安裝tortoisesvn下載軟件包,然后安裝,
對應有個中午語言包 ,
安裝后尋找對應網站隨時更新就行,
可以再找一下教程什么的
怎么安裝tortoisesvnSVN安裝沒什么要注意的,直接安裝就行了,給你個文件,我自己網盤上的,包含中文語言包,先安裝SVN,在安裝中文語言包,中文語言包安裝好后并不會立即起作用,需要你手動設置一下 , 選擇中文語言,不會再問我,上文件
關于TortoiseSVN工具安裝問題一般軟件版本都是支持向下兼容的既然你的版本比你的同事更高應該是沒問題 。樓主安心安裝就好 。下載的話請到http://tortoisesvn.net 官網去下載呢
tortoisesvn怎么使用1.首先,假設你的電腦是win7 64位的,你要準備的東西:VisualSVN-Server-3.0.1-x64.msi和TortoiseSVN-1.8.8.25755-x64-svn-1.8.10.msi 2.安裝完之后 3.打開VisualSVN Server Manager,直接右鍵Repositories , Create New Repository,輸入Reposito...
- rubyinstaller
- 正宗野花腌制方法 正宗野花如何腌制
- 在家日料制作方法 在家如何做日料
- 在家如何制作炒菜的方法 在家怎樣炒菜
- 在家制作香腸配料方法 在家如何制作香腸配料
- 新鮮櫻桃挑選裝箱 新鮮櫻桃如何挑選裝箱
- 新鮮粉腸怎么洗怎么挑選 新鮮粉腸怎么洗如何挑選
- 如何挑選新鮮的帶殼鮑魚 怎么挑選新鮮的帶殼鮑魚
- 夏天如何挑選新鮮雞蛋呢 夏天如何挑選新鮮的雞蛋
- 如何挑選新鮮冷凍鲅魚 怎么挑選新鮮冷凍鲅魚
