㈠ 如何用命令行實現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。
:merge Opens 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.
:mergeall Opens the merge all dialog. The /path specifies the target directory.
: Brings up the branch/tag dialog. The /path is the working 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。
:diff Starts 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.
:conflicteditor Starts the conflict editor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path.
:relocate 打開重定位對話框,/path指定了重定位的工作副本路徑。
:help 打開幫助文件
:repostatus 打開為修改檢出對話框,/path 指定了工作副本目錄。
:repobrowser Starts the repository browser dialog, pointing to the URL of the working 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目錄下的版本變化圖。
:lock Locks 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.
:unlock Unlocks a file or all files in a directory given in /path.
:rebuildiconcache Rebuilds 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
㈡ 怎麼搭建本地SVN服務
方法/步驟
TortoiseSVN下載和安裝。在網路輸入「TortoiseSVN」或者在其他網站上面下載TortoiseSVN。注意如果你只是本地使用svn伺服器,這個軟體就夠了。如果是伺服器上面搭建svn的應用環境就不能使用這個,關注我的其他文章有專門的介紹哦。這里我們下載「TortoiseSVN」的最新版本:1.8.10.26129。
注意:網路裡面直接下載是32位版本,如果你是64位,則需要特別指定是64位哦。
如果下載到不是跟系統對應的版本,安裝的時候會出現如下提示。
安裝TortoiseSVN軟體。我的系統是64位的,所以我這里的截圖就64位版本的哦。根據操作提示選擇操作,並且點擊下一步執行安裝。
創建准備存放svn伺服器的目錄。先在磁碟空間大一點的地方創建一個空目錄,如:e:\localsvn
創建本地svn伺服器。在剛剛創建目錄圖標上面,點擊右鍵,選擇菜單裡面的「TortoiseSVN」下面的「在此創建版本庫」項。創建好後,打開此目錄,可以看到目錄裡面已經有很多的目錄和文件了,這個就表示成功了。剛才創建的svn伺服器路徑或者管理地址:file:///E:\localsvn
在程序目錄使用本地svn服務。在需要此svn服務的空白目錄,導出此版本庫。在空白目錄圖標上面右鍵,在彈出的菜單裡面選擇導出。在導出窗口裡面設置本地svn服務去路徑:file:///E:\localsvn。確定後,導出完成。打開剛才導出的目錄,看看已經和本地svn伺服器關繫上了。
更多關於svn使用方法,後面將有專門文章來介紹,敬請關注後續文章吧。
㈢ tortoiseSVN的使用,如何刪除伺服器上某些版本
僅用tsvn的話是不能刪除的,只能回滾(復原)到50版本,然後在此版本基礎上模游繼續後面的工作
具體操作:
1、在受SVN控制的某層文件夾或文件上點右鍵,選擇「TortoiseSVN-顯示日誌」
2、在彈出的日誌窗口中,右鍵點擊要復原的版本,選擇「復原到此版本」
3、復原結基槐束後,執行「提交」操作,將此版本作為版本庫的最新版本
比如你從50版復原,復原後產生的101版實際和50版是一樣的,再往後的工作就和正常一樣進行了
如果要徹底從庫中刪除51-100版,那就很麻煩了,得把服務停掉,然後用svn的過濾工具來處理,旦鋒銷非常的麻煩
㈣ TortoiseSVN的伺服器如何轉移到另一台電腦
簡單的帶消辦法就是備份庫,卸載VisualSVN Server,硬碟寬行嘩拿過去後再重新安裝VisualSVN Server
然後再慎行還原庫。
㈤ SVN命令行怎麼用
SVN Commit
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:%f /notempfile /closeonend
SVN CommitAll
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:* /notempfile /closeonend
SVN Diff
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:diff /path:%f /notempfile /closeonend
SVN Log
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:log /path:%f /notempfile /closeonend
SVN Update
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:%f /notempfile /closeonend
SVN UpdateAll
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:* /notempfile /closeonend
Source Monitor
D:\SourceMonitor\SourceMonitor /DC++ %f
㈥ windowns怎麼命令行安裝svn
1.windows下的命令行svn客戶端
http://somebody-hjh.iteye.com/blog/1415992
我們知道,在linux下面的svn客戶端採用命令的方式管理與伺服器端svn交互。有些朋友想在windows下也具有相同的功能,而不是TortoiseSVN的GUI管理方式。這樣可以使用我們熟悉的svn命令。
在不用安裝TortoiseSVN客戶端的情況,大家可以再http://subversion.apache.org/packages.html#windows 找到windows下的svn客戶端工具。選擇Win32Svn 進行安裝。
安裝好後,bin目錄下就是相應程序了。通過添加環境變數的方式,把bin目錄添加到path。啟動cmd,敲入 svn help 以確認是否安裝成功。
好了,可以找到你的代碼,做checkout了。在commit代碼的過程中,經常會出現的一個問題是:svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration option was found
這表示你的系統,沒有指定svn客戶端通過什麼樣的文本編輯器來寫提交的注釋。我們添加環境變數,SVN_EDITOR的值為notepad。再次svn ci 代碼。notepad彈出了,寫完注釋保存。代碼提交!
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2.使用SVN命令行工具,svn下載,windows命令行下svn
http://hi..com/cpuramdisk/item/6e8e0fc29f7dbe2f46d5c038
從http://subversion.tigris.org獲取subversion for windows的版本,安裝之後就有了svn.exe這個基於命令行的客戶端工具。當然伺服器端的程序也有了,這里就不關心如何配置SVN服務了。安裝程序把svn.exe的路徑加入了path環境變數,我們已經可以在命令行中直接輸入svn就可以使用了。
如果你不知道命令怎麼用svn命令,可通過如下方式查詢:
svn help
知道了子命令,但是不知道子命令的用法,還可以查詢:
svn help ci
開發人員常用命令
導入項目
svn import http://svn.chinasvn.com:82/pthread --message "Start project"
導出項目
svn checkout http://svn.chinasvn.com:82/pthread
採用 export 的方式來導出一份「干凈」的項目
svn export http://svn.chinasvn.com:82/pthread pthread
為失敗的事務清場
svn cleanup
在本地進行代碼修改,檢查修改狀態
svn status -v
svn diff
更新(update)伺服器數據到本地
svn update directory
svn update file
增加(add)本地數據到伺服器
svn add file.c
svn add dir
對文件進行改名和刪除
svn mv b.c bb.c
svn rm d.c
提交(commit)本地文檔到伺服器
svn commit
svn ci
svn ci -m "commit"
查看日誌
svn log directory
svn log file
相關的一些東西:
1、在本地文件中,每個目錄下都有一個.svn文件夾(屬性為隱藏),保存了相關的信息。
2、注冊環境變數SVN_EDITOR為"E:\Program Files\Vim\vim71\gvim.exe",結果在svn ci的時候,出現錯誤:
'E:\Program' 不是內部或外部命令,也不是可運行的程序
或批處理文件。
svn: 提交失敗(細節如下):
svn: system('E:\Program Files\Vim\vim71\gvim.exe svn-commit.tmp') 返回 1
把SVN_EDITOR改為"gvim.exe",並且在path中添加路徑"E:\Program Files\Vim\vim71",這樣就可以在提交的時候用vim編寫注釋了。
附:
提供免費SVN服務的網站:
http://www.svnhost.cn/(推薦)
http://www.chinasvn.com
http://www.javaforge.com
http://unfuddle.com
http://svn.coollittlethings.com/index.php(針對開源免費,針對私人項目收費)
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3.http://space.itpub.net/14466241/viewspace-713138
Windows下SVN命令行工具使用詳解(附加TortoiseSVN)
上一篇 / 下一篇 2011-12-12 09:32:22 / 置頂(3) / 個人分類:網路文摘
查看( 4610 ) / 評論( 1 ) / 評分( 5 / 0 )
根據我的記憶,似乎Windows 7下自自帶一個svn命令行工具。如果你的機器沒有,不必擔心。你可以從http://subversion.tigris.org獲 取subversion for windows的版本,安裝之後就有了svn.exe這個基於命令行的客戶端工具。安裝程序把svn.exe的路徑加入了path環境變數,我們已經可以在命令行中直接輸入svn就可以使用了。
如今,好用的開源工程遍布世界各地。許多這樣的工具都提供了相應的工程源碼的SNV下載地址,所以,這個工具你幾乎是非了解不可的。以下列出svn使用使用的典型舉例。
一、關於命令行工具SVN
如果你不知道命令怎麼用svn命令,可通過如下方式查詢:
svn help
知道了子命令,但是不知道子命令的用法,還可以查詢:
svn help ci
常用命令格式與舉例
導入項目
svn import http://svn.chinasvn.com:82/pthread --message "Start project"
導出項目
svn checkout http://svn.chinasvn.com:82/pthread
採用 export 的方式來導出一份「干凈」的項目
svn export http://svn.chinasvn.com:82/pthread pthread
為失敗的事務清場
svn cleanup
在本地進行代碼修改,檢查修改狀態
svn status -v
svn diff
更新(update)伺服器數據到本地
svn update directory
svn update file
增加(add)本地數據到伺服器
svn add file.c
svn add dir
對文件進行改名和刪除
svn mv b.c bb.c
svn rm d.c
提交(commit)本地文檔到伺服器
svn commit
svn ci
svn ci -m "commit"
查看日誌
svn log directory
svn log file
二、關於可視化SVN工具TortoiseSVN
到http://tortoisesvn.net/downloads.html處下載可視化SVN工具TortoiseSVN。這個工具非常好用,是一個WINDOWS下可視化工具,特別是支持斷點續傳。
因此,如果下載小型的SVN內容,使用上面的WINDOWS自帶的命令行工具SVN.EXE足夠了。但是,當下載大傢伙時,常常下載到中間便失去與伺服器的聯系。如果再重新下載,非常可憐,而且往往還是不行。我在下載LIBGDX這個游戲引擎的源碼工具時便是遇到這樣的情況。因此才搜索到這個工具。
下載安裝後,這個工具是以WINDOWS資源管理器插件的形式存在的,非常人性化。你只要右鍵點擊一個你想存儲下載內容的文件夾,選擇「SVN Checkout...」選擇,然後彈出一個對話框。此後,你輸入你的SVN資源地址,便OK了。而且,這個工具下載速度非常快......
備註:在這個頁面http://bbs.mountblade.com.cn/viewthread.php?tid=168300
有幾個截圖,參考一下吧。
㈦ 在windows系統下在命令行窗口打開svn
我看了,系統PATH裡面也有d:\program files\tortoiseSVN/bin 。然後想打開tortoisesvn的圖形界面。發現出現下面文字:
tortoisesvn is a shell extension
that means it is integrated into the windows explorer.
to use tortoisesvn please open the explorer and right-click on any folder you like to bring up the context menu where you will find all tortoisesvn commands.
開始-運行,出來後輸入cmd回車。或者按鍵盤上的windows+r(windows就是那個窗口一樣的按鍵,alt旁邊那個)
㈧ 安裝tortoiseSVN之後,命令行中輸入 SVN命令 時會顯示非內部或外部命令。
TortoiseSVN不是這么用的,它沒有單獨的軟體界面,和windows操作系統集成了,你隨便打開一個文件夾,然後點右鍵,右鍵菜單上有TortoiseSVN,是從這里進去操作的
另外TortoiseSVN也提供命令行方式,使用的可執行程碼磨讓序是TortoiseProc.exe ,關於命游豎令行模式的參數詳遲局細請看幫助文件
㈨ 安裝tortoiseSVN之後,命令行中輸入 SVN命令 時會顯示非內部或外部命令。
TortoiseSVN不是這么用的,它沒有單獨的
軟體界面
,和
windows操作系統
集成了,你隨便打開一個文件夾,然後點右鍵,右鍵菜單上有TortoiseSVN,是從這里進去操作的
另外TortoiseSVN也提供命令行方式,使用的
可執行程序
是TortoiseProc.exe
,關於命令行模式的參數詳細請看
幫助文件
㈩ windows 怎麼用svn命令
1、Windows下命令行工具:
發現原來安裝的tortoisesvn已經集成到shell中,不能在命令行下使用。
下載Apache Subversion command line tools,這是一個可以在cmd下使用的命令行工具,解壓後把裡面bin目錄這個路徑添加到環境變數的path,這樣在cmd下就可以使用了,和linux下使用svn的習慣一樣了。
目錄約定:
/trunck:開發主線
/branches:支線副本
/tags:標簽副本(一旦創建,不允許修改)
1)使用trunk作為主要的開發目錄
一般的,我們的所有的開發都是基於trunk進行開發,當一個版本(release)開發告一段落(開發、測試、文檔、製作安裝程序、打包等結束後),代碼處於凍結狀態(人為規定,可以通過hook來進行管理)。此時應該基於當前凍結的代碼庫,打tag。
當下一個版本/階段的開發任務開始時,繼續在trunk進行開發。此時,如果發現了上一個已發行版本(Released Version)有一些bug,或者一些很急迫的功能要求,而正在開發的版本(Developing Version)無法滿足時間要求,這時候就需要在上一個版本上進行修改了。解決方法是基於發行版對應的tag,做相應的分支(branch)進行開發。
2)下圖為struts2的SVN倉庫目錄:
3、常用命令
svn help
svn --version
svn --version --quiet 只顯示版本號
svn checkout 地址
svn add 文件或者文件夾 增加本地數據到伺服器
svn commit / svn ci -m 「注釋」 文件名 提交代碼,要先add才commit
svn update / svn up不必跟特定的文件或目錄,也可以自己指定需要更新的文件或目錄。每次commit或者改動之前最好更新一下。
svn log
svn delete 文件名
svn resolve 路徑 --accept working 解決沖突
http://zccst.iteye.com/blog/1765519
svn switch 遠程路徑 版本切換
svn list路徑/svn ls 列出版本庫下的文件和目錄
svn merge -r m:n 路徑 合並文件,從版本號m到版本號n的遠程分支都合並到當前分支中
svn info 確認工作目錄的svn信息
svn diff -r m:n 路徑 對版本m和版本n比較差異
svn cleanup 為失敗的失誤清場
svn status -v 在本地進行代碼修改,檢查修改狀態
svn import 遠程路徑 --message 「message」 將當前路徑下文件導入到版本庫中
svn export 遠程路徑 導出一份干凈的項目
svn move/ svn mv 原文件名 新文件名 重命名
svn mkdir 文件名
svn / svn cp 源文件路徑 新文件路徑
svn revert 文件名 只能恢復未提交之前的操作
若要還原已提交的改動:只能用舊文件覆蓋新文件。操作如下:
1)sun up 讓本地工作拷貝更新到最新狀態
2)svn log your_file_path 查看文件日誌,這時候提交時填寫的說明信息就派上用場了
3)svn diff -r 舊修訂版序號:新修訂版序號 your_file_path 查看兩個修訂版之間的不同。
4)決定用哪個舊的修訂版號後,用舊的修訂版號文件覆蓋新的修訂版號文件。svn merge -r 新修訂版序號:舊修訂版序號 your_file_path
5)svn commit -m "恢復到某修訂版(某修訂版作廢)"
本地的版本叫做working
4、關於merge
branch主要用於新功能的開發
合並發生在本地working ,只要你不提交就不會影響到repository
合並前一定要先update、commit,保證不會out of day,並將本地的修改保存到repository
branch和trunk並行開發的過程中,要經常同步,將trunk的修改合並到branch,合並時選擇"Merge a range of revision"
branch最後合並回trunk時,merge type選擇"Reintegrate a branch"
不管是從trunk合並到branch還是最終從branch合並回trunk,在每次合並前最好先update,然後將本地的修改先全部commit,保護好現場,萬一合並不理想隨時都可以reverthttp://blog.csdn.net/eggcalm/article/details/6606520
http://zhengkun.readthedocs.org/zh_CN/latest/2014/02/07/svn-usage/
5、關於解決沖突
發生沖突之後會出現三個臨時文件:
XXX.mine XXX.r1 XXX.r2
一旦解決了沖突,需用svn resolved讓subversion知道,這樣就會刪除這三個臨時文件,沖突狀態解決。
三種解決方式:
手工合並沖突:需要將沖突標志刪除
用某一個臨時文件覆蓋自己的工作文件
用svn revert 放棄本地修改,不需要執行resolved