㈠ 如何用命令行实现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