tortoisesvn

如何架设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:\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...