版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SVN 管理员使用指南目 录1Subversion简介11.1Subversion简介11.2Subversion架构21.3Subversion组件31.4Subversion基本流程32安装SVN 服务42.1安装SVN和TortoiseSVN42.2创建SVN资源库42.3创建SVNserver服务52.4运行SVNserver服务63用户及权限管理63.1用户管理73.2权限管理74SVN基本使用94.1导入/导出(import/export)94.2初始化检出(checkout)104.3更新修改(update)104.4查看日志信息(show log)104.5取消修改(rever
2、t)104.6提交修改(commit)104.7合并信息(merge)104.8创建/删除/重命名104.9加锁/释放锁(get/release lock)104.10添加、删除、重命名(add、delete、rename)104.11拷贝(copy)134.12查看修改信息(check for modifications)134.13分支/标记(branch/tag)134.14创建并应用补丁(create/apply patch)154.15备份/恢复资源库174.16删除资源库194.17版本(revision)关键字194.18统计信息(statistics)204.19禁用密码缓存2
3、15TortoiseSVN设置215.1常规设置(General)235.2图标叠加(Icon overlays)275.3网络设置(network)295.4日志缓存设置(log caching)305.5钩子脚本设置(Hook Scripts)325.6外部程序设置(external programs)326TortoiseSVN基本命令376.1Svn子命令376.2Svnadmin386.2.1Svnadmin Switches396.2.2Svnadmin Subcommands396.3Svnlook406.3.1Svnlook选项406.3.2Svnlook416.4Svnser
4、ve416.4.1Svnserve选项416.5Svnversion426.5.1Svnversion选项421 Subversion简介1.1 Subversion简介Subversion是一个自由/开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空,即Subversion允许数据恢复到早期版本,或者是检查数据修改的历史。Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行,开发速度会更快。此外,由于所有的工作都已版本化,也就不必担心由于错
5、误的更改而影响软件质量。它是一个通用系统,可以管理任何类型的文件集。1.2 Subversion架构服务器端保存所有版本数据的Subversion版本库,本地端是Subversion的客户程序,管理所有版本数据的本地映射(工作拷贝),两端之间是各种各样的版本库访问(RA)层,可以使用网络服务(Apache/svnserve)访问版本库,也可以绕过网络服务器直接访问版本库。1.3 Subversion组件svn 命令行客户端程序svnversion 显示工作拷贝的状态(用术语来说,就是当前项目的修订版本)svnlook 直接查看Subversion版本库的工具svnadmin建立、调整和修复Su
6、bversion版本库的工具svndumpfilter过滤Subversion版本库转储数据流的工具mod_dav_svnApache HTTP服务器的一个插件,使版本库可以通过网络访问svnserve一个单独运行的服务器程序,可以作为守护进程或由SSH调用。这是另一种使版本库可以通过网络访问的方式svnsync一个通过网络增量镜像版本库的程序1.4 Subversion基本流程1) 初始化取出(checkout)版本库(repos),建立本地工作拷贝(Working Copy)。2) 与repos同步(update),保证将要进行的编辑是最新版本。3) 编辑源代码(包括创建、修改、删除)。4
7、) 与repos同步(update),提交(commit)之前先要同步到最新的版本,保证所有在自己之前的有关提交已经在本地有所知晓。5) 解决冲突(resolve conflict)。6) 提交(commit),建议写上这次提交或变更内容的摘要,便于以后查阅。7) 再次执行步骤2)。每次开始新的编辑前的同步repos很重要,另外经常地update,特别是多人项目中。如果每次提交(commit)前不进行更新(update)的到最新的版本的话,svn会提示当前的拷贝过期,需要更新。2 安装SVN 服务2.1 安装SVN和TortoiseSVN下载SVN服务器安装文件:svn-1.4.6-setup
8、.exe 下载客户端安装文件:TortoiseSVN-6974-win32-svn-1.6.5,然后运行安装,安装成功后必须重启计算机。也可以根据需要加载中文语言包(不建议使用)。在任意位置点击右键,出现下面图示即表示TortoiseSVN安装成功。2.2 创建SVN资源库SVN资源库的创建有两种方式:命令行方式和客户端方式。 命令行方式:svnadmin create D:svnrepos(注意目录路径名区分大小写) 客户端方式:通过TortiseSVN来创建,在本地新建目录D:svnrepos,选中文件夹repos,右击“TortoiseSVNCreate repositor
9、y here”库类型选择默认的FSFS,创建成功后会在D:svnrepo目录下出现若干文件和文件夹,可以看到三个配置文件authz,passwd,svnserve.conf。其中svnserve.conf为服务配置文件(存放全局访问控制信息),passwd为访问资源库的认证文件,authz为认证后的账户访问权限授权文件,可根据需要进行添加和授权。后面在用户及权限管理处会详细介绍。2.3 创建SVNserver服务运行cmd命令输入:sc create svnserve binpath= C:Subversionbinsvnserve.exe -service -root D:svnrepos
10、displayname= svnserve depend= tcpip start= auto上述命令可以实现名为“svnserve”服务的后台创建和自动启动。2.4 运行SVNserver服务有两种方式运行svnserver服务: Cmd命令行输入:net start svnserve(停止svnserver服务用:NET STOP svnserve;删除svnserver服务用:net delete svnserve) 控制面板管理工具服务:启动“svnserve”服务3 用户及权限管理在 Subversion 的使用当中,存在“认证”、“授权”两个概念。认证,即 authenticati
11、on,是指用户名与密码的认证。授权,即authorization ,是指某用户对某个目录是否具备读、写权限的一种审核。这两者配合作用,就组成了 Subversion 的整个账户管理体系。为了使用用户及权限管理功能文件,必须在服务器端打开D:svn reposconfsvnserver.conf,去掉下面四行前面的注释,并去掉前面的空格:# anon-access = read# auth-access = write# password-db = passwd# authz-db = authz并将read参数修改为none,表明禁止匿名用户访问版本控制库。注意:权限配置文件中出现的用户名必须
12、已在用户配置文件中定义。对权限配置文件的修改立即生效,不必重启svn。为了实现多项目的权限管理,多个项目共享相同的位于根资源库下的配置及认证文件。3.1 用户管理资源库创建后,出现的passwd文件为访问资源库的认证文件(用户名和密码),即在此文件夹下可以添加、删除用户打开D:SVNServerreposconfpasswd,添加用户admin、sc1/sc2、tom1/tom2,并设置相应的密码:users# harry = harryssecret# sally = sallyssecret admin = 1234 sc1 = 1234 sc2 = 1234 tom1 = 1234 to
13、m2= 12343.2 权限管理Subversion 提供了面向目录的账户权限管理功能,通过它,我们就可以很精确地实现项目目录的访问控制。创建完资源库后,出现的authz为认证后的账户访问权限授权文件。假设目录结构如下:Projectdevtesttest1test2要求:1、 admin对所有目录可读可写2、 Dev_group对dev目录可读可写,Test_group无权限3、 Test_group对test目录可读可写,Dev_group无权限打开D:SVNServer reposconfauthz,对上面的用户添加分组:groups# harry_and_sally = harry,s
14、ally Admin_group = admin Dev_group = sc1,sc2 Test_group1 = tom1, tom2/ /对根目录的权限控制admin_group = rw* = r/Cloud /dev /对具体目录的权限控制 admin_group = rw Develop_group = rw* = /其他用户无权限/Cloud/test /对具体目录的权限控制 admin_group = rw Test_group = r* = 备注:1、 如果需要控制的文件夹为中文名称,需要把authz转换为UTF-8格式,建议使用UltraEdit的“文件转换ASCII to
15、 UTF-8”(我尝试过记事本转换未遂)。2、 若project下新增文件夹,一定要对新文件夹增加权限控制,否则所有人默认为可读。4 SVN基本使用4.1 导入/导出(import/export)svn import是将未版本化文件导入版本库的最快方法。具体使用方法举例:创建文件夹D:/ project1,project1文件夹下分别创建三个文件夹trunk,tags,branches,右键打开repository-browser,在URL中输入project1所在路径,然后点击ok即可成功导入数据至版本库,截图如下。注:一个项目的生存周期不是单线的,常常有一些分支、发布版或者特定功能的实验性
16、加入等事件,repos的布局需要进行一定设计来支持这些“事件”。常见的布局是这样的:trunk是项目主体存放位置,branches是项目的各种分支的存放,tags用于公开发布的版本的存档,类似与milestone。这是一般的svn项目中的repos布局。Export操作则相反,在版本库中选择要导出的文件,右键export,选择导出到本地的路径,点击ok即可。4.2 初始化检出(checkout)4.3 更新修改(update)4.4 查看日志信息(show log)4.5 取消修改(revert)4.6 提交修改(commit)4.7 合并信息(merge)4.8 创建/删除/重命名4.9 加
17、锁/释放锁(get/release lock)章节4.24.9具体操作可以参考TortoiseSVN使用指南V1.0.doc4.10 添加、删除、重命名(add、delete、rename) 以添加一个文件为例,在本地版本库受控环境中新建一个文件0.doc,按照图示进行操作:图标变为下图所示,标明该文件已经被加载入了版本库,但是没有执行commit:右键svn commit,提交至版本库。图标变为绿色对勾,至此该文件已经被成功添加至版本库中。4.11 拷贝(copy)可以拷贝至本地目录,也可以拷贝至上面界面中的其他目录。4.12 查看修改信息(check for modifications)在
18、受控版本库环境中右键TortoiseSVN- check for modifications,可以查看当前文件或文件夹的修改历史信息。4.13 分支/标记(branch/tag)实际也是svn copy操作,首先要把需要打标签的或者做版本标记的文件checkout到本地,右键TortoiseSVN- branch/tag,输入版本的标记及存放路径即可。就可将整个目录分支(branch)出去。或点击某个文件将文件单独分支(branch)。界面上出现三个选项: head revision in the repository:新分支直接从仓库中的最新版本里复制出来。不需要从你的工作副本中传输任何数据
19、。 Specific revision in repository:可以在版本库中选择具体的revision,直接在服务器端copy指定版本。 Working Copy:新分支是一个当前的工作副本的完全拷贝。如果想把工作副本自动切换到最新创建的分支,使用“转换工作副本至新分支/标记”选择框。但是首先要确认你的工作副本没有被修改,如果有修改的话,当你转换后这些修改将会混合进你的工作副本分支里。一般选择head revision对版本进行打标签操作,执行完毕可以在相应的路径下看到新标签(也可以给一个版本打版本号标签V1.0等): 如果你想要在一个已经标记的发布版上做更多的修改。正确的操作方法是先从
20、标记处建立一个新分支然后提交这个分支。在这个分支的基础上进行修改后再从这个新分支上建立一个新标记,例如Version_1.0.1。 如果你修改了一个从分支建立的工作副本然后又提交了这个副本,那么所有的修改会转到一个新分支里而不是主干,仅仅是存储了修改的数据。4.14 创建并应用补丁(create/apply patch) 补丁文件只是简单地用统一的差异描述文件显示出你的工作副本和基线版本的不同点。由于对于一个项目的代码,任何开发人员可能都具备读写的权限,这个代码可能永远都会处于不稳定状态,而且很有可能永远的瘫痪下去。在这种情况下,修改需要以补丁文件的形式先递交到有写访问权限的开发组。开发组可以
21、先对该补丁文件进行审查,然后决定将其提交到仓库里或者是退还给具体的开发人员。 首先对checkout到本地的初始副本进行修改,假设修改了2个文件,本地工作副本右键create patch,会显示所有对于初始副本的修改,如下图示:可以用一个自己选择的文件名来保存这个补丁文件,补丁文件可以有任意的扩展名,但是按人一般习惯,人们都是用.patch或.diff作扩展名,现在已经做好提交你的补丁文件的准备了,此处命名为36.Patch。开始应用补丁,系统会提示你输入工作副本的位置,输入工作副本位置即可:一旦你选定了补丁文件和工作副本的位置,TortoiseMerge就会把补丁文件合并到你的工作副本中。系
22、统会弹出一个小窗口列出所有被更改了的文件。双击每一个文件,检查所做的改变,然后保存合并后的文件。远程开发者的补丁现在已经应用到了你的工作副本上,你需要提交它以使每一个人都可以从代码库访问到这些修改。4.15 备份/恢复资源库版本控制关键的是保证数据的安全性,不能因为磁盘损坏,程序故障造成版本库无可挽回的错误,为此必须制定较完备的备份策略。在Subversion中,我们有三种备份方式:完全备份,增量备份和同步版本库。 完全备份完全备份直接使用拷贝命令,将版本库目录拷贝到备份目录上,就可以了。但是这样不是很安全的方式,因为如果在拷贝时版本库发生变化,将会造成备份的结果不够准确,失去备份的作用,为此
23、Subversion提供了“svnadmin hotcopy”命令。svnadmin hotcopy 资源库的源路径 资源库的目标存放路径。 增量备份完全备份非常简单,但是也是有代价的,当版本库很大时,经常进行完全备份是不现实的,也没有必要,就用到了增量备份,svnadmin dump命令。通过dump命令将资源库导出到一个文件中,可以整个库导出或者进行增量导出,然后可以通过load的方式导入到新库中。基本过程如下:svnadmin dump repos repos.dump-将当前目录下面的资源库repos导出到一个文件中svnadmin load new_repos dumpfile2上面
24、命令实现了对修订版本15进行增量的备份,其中的输出文件dumpfile2只保存了修订版本15更改的内容。 版本库同步Subversion 1.4增加了同步机制,可以用来实现版本库的备份或镜像。 对目标库初始化svnsync init svn:/localhost/project2 svn:/localhost/project1 其中project2是目标的版本库,而project1是源版本库。其中的目标版本库必须为空,而且必须允许修订版本属性的修改,也就是在目标的版本库的hooks目录里添加一个文件pre-revprop-change.bat,内容为空。 同步project2到project1
25、svnsync sync svn:/localhost/project2 这时候你update一下你的project2的一个工作拷贝,就会发现有了project1的所有内容。如果project1又有提交,这时候project2的版本库无法看到最新的变化,还需要再运行一遍sync操作,这样才能将最新的变化同步。需要注意的是,目标版本库必须是只读的,如果目标版本库发生了变更,则无法继续同步了。 同步历史属性的修改因为同步不会更新对历史属性的修改,所以svnsync还有子命令copy-revprops,可以同步某个版本的属性。 钩子自动同步希望在每次提交时同步,则需要在源版本库中增加post-com
26、mit钩子脚本,内容如下:echo offset SVN_HOME=C:Program FilesSubversion%SVN_HOME%binsvnsync sync -non-interactive svn:/localhost/project2把以上内容保存为post-commit.bat,然后放到版本库project1下的hooks目录下,这样project1每次提交,都会引起project2的同步。4.16 删除资源库4.17 版本(revision)关键字HEAD、 BASE、COMMITTED、PREV是指定版本号时可以使用的一些保留字。各自的含义大致介绍如下: HEAD:资源库
27、中的最新版本,实际是反映的“当 前版本管理中的最新”。 BASE:本地工作拷贝中的初始版本,是指最后一次更新(update)操作或者取出(initial checkout)操作时取出的那些文件版本。 COMMITTED:在BASE版本之前(或BASE)一个项目最后修改的版本。 PREV:一个项目最后修改版本之前的那个版本(技术上为commit-1)。4.18 统计信息(statistics)统计信息,可以显示一些你感兴趣的关于日志对话框中版本的信息,显示已经有几个作者做了工作,他们各自提交的次数,按周的统计等。选中文件或文件夹,右键show log点击statistics4.19 禁用密码缓存
28、许多服务器配置为每次请求要求认证,对被强制每次输入用户名密码,Subversion客户端对此有一个修补,存在一个在磁盘上保存认证凭证缓存的系统,缺省情况下,当一个命令行客户端成功的响应了服务器的认证请求,它会保存一个认证文件到用户的私有运行配置区。当客户端接收到一个认证请求,它会首先查找用户磁盘中的认证凭证缓存,如果没有发现,或者是缓存的凭证认证失败,客户端会提示用户提供需要的信息。若很在乎密码缓存,可以永久关闭缓存或每次执行命令时说明。在某次命令关闭密码缓存可以在命令中使用-no-auth-cache选项,如果永久关闭缓存,可以在本机的Subversion的配置文件中注释掉store-pas
29、swords = no行,就不会有凭证缓存在磁盘了。5 TortoiseSVN设置任意位置点击右键,按照如下图示操作:进入Settings设置界面,共有常规设置、图标集重载设置、网络设置、日志缓存设置及钩子脚本设置等几个选项:5.1 常规设置(General)常规设置包括四个部分:Context Menu、Colors、Dialogs1、Dialogs2。General设置界面:1) 设置用户的界面语言。2) 设置是否每周自动检查最新版本。3) 可以查看configure设置系统声音属性。4) 设置全局忽略样式,那些符合模式的文件,在执行导入操作时同样被忽略。通过在模式框中输入文件名或扩展名来
30、忽略文件或文件夹,不同的模式之间以空格分隔。5) Subversion配置文件的更改。例如:上面4.19节描述的禁用密码缓存即是在此处修改。6) 建议禁用Set file dates to the“last commit time”。7) 建议禁用Use _svn instead of .svn directories。Context Menu设置界面:1) 设置在TortoiseSVN的主上下文菜单中哪些条目可以直接在鼠标右键菜单显示,哪些在TortoiseSVN子菜单显示。默认情况下很多项未被勾选,只在子菜单显示,根据需要及个人使用习惯设定。2) 设置svn:needs-lock属性的文件
31、的Get Lock出现在顶级主菜单中。Dialogs1设置界面:1) 设置默认日志信息数。2) 设置日志信息字体和字号,作用范围为版本日志对话框的中间窗格,以及提交对话框时填写日志信息的窗格。3) 设置日志信息是否使用短日期/时间格式。4) 是否在日志列表中设置双击来实现与prev revision的比较。5) 是否设置当前工作副本为合并的起始URL。6) 缺省检出路径/检出URL。7) 进程设置选项,下拉列表含义: Close manually:手动关闭(推荐设置),这项设置允许你选择在何种情况下关闭对话框。 Auto-close if no merge,adds or deletes:如无
32、合并、添加、删除操作,自动关闭。如果有简单更新的话,进程对话框将关闭。但如果版本库的更改和你的内容进行了合并,或若有任何文件被添加或删除,对话框将保持打开。若操作中发生什么冲突和错误这些对话框也将同样保持打开。 Auto-close for local operations:对本地操作自动关闭,但在做远程操作时对话框将保持打开。 Auto-close if no conflicts:无冲突时自动关闭。仅在发生了冲突或错误,对话框保持打开。即使在无合并、添加、删除操作时也同样关闭对话框。 Auto-close if no errors:无错误时,自动关闭。即使在有冲突发生时也会关闭。维持对话框打
33、开的唯一条件是发生了错误,使得Subversion无法完成任务。Dialogs2设置界面:1) 递归处理未进行版本控制的文件夹。若这个选项框被选中(默认状态),那么一个非版本控制的文件夹,不论在添加、提交或检查修改时显示的是什么状态,它的每个子文件和子文件夹都要同样显示。取消选择将减少这些对话框中的混乱程度,但是选择添加一个非版本控制的文件夹,将会非递归地添加。2) 自动完成文件路径和关键词。3) 自动完成分析的超时时间(秒)。4) 仅在设置了tsvn:projectlanguage时才进行拼写检查,在进行所有提交操作时都不进行拼写检查项,后拼写检查功能将在项目属性做出明确要求时才生效。5)
34、设置日志历史信息中保留的最大条目数量。6) 设置如果提交失败,自动重新打开提交和分支/标签对话框。7) 自动选择项目。8) 启动时连接版本库,可以设置是使版本库检查的动作每次自动启动。9) 在锁定之前显示加锁对话框,若使用tsvn:lockmsgminsize属性,那么不管你是否设置,都会看到加锁对话框,因为此项目需要加锁信息。Colors设置界面:可以按照个人习惯来配置使用的各种操作的文本颜色。5.2 图标叠加(Icon overlays)Icon Overlays设置界面:1) 缓存状态。 Default:设置一个节点是否是缓存所有状态信息在一个单独的进程TSVNCache.exe中,该进
35、程在C:Program FilesTortoiseSVNbin目录下。 Shell:缓存在外壳扩展dll中直接完成。 None:TSVN在浏览器里就完全不去获取状态,版本控制下的文件除获得正常的图标重载外,将不会获得任何图标重载类型。2) 设置驱动类型的选择。3) 选择/排除在某个指定路径上或以该指定路径为开始路径的所有子目录文件上的图标重载。Icon Set设置界面:1) 在上图的Icon Set下拉列表中可以选择不同的图标集显示风格(更改图标集后必须重启计算机才能够生效)。2) 也可以设置不同的图标视图方式:List View或Symbol View。5.3 网络设置(network)Ne
36、twork设置界面:1) 设置是否使用代理服务器。代理设置项有:服务器地址、端口、用户名/密码、编辑Subversion server file等。2) 设置SSH客户端程序,用来支持TortoiseSVN使用SVN+SSH协议的版本库建立安全连接,建议使用TortoisePlink.exe,目前已被集成在TortoiseSVN中。安装TortoiseSVN的时候已经附带安装,该文件的存放路径是C:Program FilesTortoiseSVNbinTortoisePlink.exe。5.4 日志缓存设置(log caching)Log Caching设置界面:1) 全局设置:是否启用日志缓
37、存,是否缓存未知的URL及UUID。2) 设置在不能够访问资源库时的处理方式,在下拉列表中共分三种处理办法。3) Timeout before updating the HEAD revision:设置为0可以及时在日志信息中查看最新的revision日志信息。4) Days of inactivity until small caches get removed:控制缓存清除的时间(天),可以设置间隔多长时间对缓存执行清理操作。5) Maximum size of removed inactive caches:目前已经激活的最大缓存空间(KB)。6) Maximum number of t
38、ool failures before cache removal:缓存清除前允许失败的最大次数,建议此处设置为0,否则发生崩溃时,日志会自动删除而无法从日志查看系统或工具崩溃的原因。Cached Repositories设置界面:1) 设置本地缓存的资源库的资源库URL、缓存大小(KB)。可以选择其中的一个URL执行下面的update、export和delete操作。2) 查看details可以查看详细的日志缓存统计信息。5.5 钩子脚本设置(Hook Scripts)点击Hook Scripts设置界面中的Add按钮出现如下界面:Configure hook scripts设置界面:1)
39、可以设置钩子脚本的类型,共6种(按照对钩子脚本的调用时间分): Start Commit Hook:开始提交。 Pre-Commit Hook:提交之前。 Post-Commit Hook:提交之后。 Start Update Hook:开始更新。 Pre-Update Hook:更新之前。 Post-Update Hook:更新之后。2) 本地工作副本的路径。3) 存放钩子脚本的路径,一般是资源库的本地路径/hooks/(钩子脚本类型)。4) 设置Subversion 操作是否直到钩子完成才结束。5) 设置是否在运行时隐藏钩子脚本。5.6 外部程序设置(external programs)可
40、以自定义自己的差异查看器、统一的差异查看器和合并工具,以及差异查看/合并工具的高级设置。Diff Viewer设置界面:一般选择默认的差异查看工具即可,可以在subversion属性中选择第三方工具进行差异查看,也可以在命令行设置参数来选择对特定文件的相应操作。外部程序参数选择: %base:没更改的原始文件 %bname:原始文件的窗口标题 %mine:你更改过的新文件 %yname:你新文件的窗口标题上面参数的顺序将依赖于你使用的外部差异查看程序(点击界面上的advanced按钮选择)。Merge Tool设置界面:一般选择默认的即可,其余设置可以参考差异查看的使用方式。外部合并程序的参数
41、选择: %base:没有被你或他人更改的原始文件 %bname:原始文件的窗口标题 %mine:你更改过的新文件 %yname:你新文件的窗口标题 %theirs:档案库中存放的文件 %tname:档案库中文件的窗口标题 %merged:发生冲突的文件,同时将被合并后的文件替换 %mname:合并文件的窗口标题上面参数的顺序将依赖于你使用的外部差异查看程序(点击界面上的advanced按钮选择)。Unified Diff Viewer设置界面:统一的差异查看器一般选择默认的即可,不需要任何参数。Saved Data设置界面:TortoiseSVN保存了用过的URL历史记录、日志信息输入框、显示
42、日志对话框、窗口大小及位置、认证设置和动作日志等信息,可以点击clear清空这些数据缓存。TortoiseBlame设置界面:设置使用的颜色、字体和制表(文件中出现的制表字符用多少空格扩展)。Revision Graph设置界面:1) 查看经典的版本布局样式,一般是针对源代码的版本控制,设置tags、branches和trunk三个文件夹分支,存放代码的不同版本。2) 为了帮助挑选节点分类,您可以允许修改图形来混合颜色。Revision Graph colors设置界面:定义版本分支图中对各种节点的颜色,便于识别、分析和查看。6 TortoiseSVN基本命令本文档简单介绍svn子命令、svn
43、admin、svnlook、svnserve命令的使用,具体的选项使用可以安装命令行包去学习使用。6.1 Svn子命令 Svn add -添加文件,目录或符号链。添加文件,目录或符号链到你的工作拷贝并且预定添加到版本库,可以使用svn revert取消预定提交。 Svn blame -显示特定文件和URL内嵌的作者和修订版本信息。 Svn cat -输出特定文件或URL得内容。 Svn checkout -从版本库中取出一个工作拷贝。 Svn cleanup -递归清理工作拷贝。 Svn commit -将修改从工作拷贝发送至版本库。 Svn copy -拷贝工作拷贝的一个文件或目录到版本库。
44、 Svn delete -从工作拷贝或版本库删除一个项目。 Svn diff -比较两条路径的区别。 Svn export -导出一个干净的目录树。 Svn help -帮助。 Svn import -递归提交一个路径的拷贝到URL。 Svn info -打印PATH的信息。 Svn list -列出版本库目录的条目。 Svn log -显示提交日志信息。 Svn merge -应用两组源文件的差别到工作拷贝路径。 Svn mkdir -创建一个纳入版本控制的新目录。 Svn move -移动一个文件或目录。 Svn propdel -删除一个项目的一个属性。 Svn propedit -修改
45、一个或多个版本控制之下文件的属性。 Svn propget -打印一个属性的值。 Svn proplist -列出所有的属性。 Svn propset -设置文件、目录或者修订版本的属性propname为propval。 Svn resolved -删除工作拷贝文件或目录的冲突状态。 Svn revert -取消所有的本地编辑。 Svn status -打印工作拷贝文件和目录的状态。 Svn switch -把工作拷贝更新到别的URL。 Svn update -更新工作拷贝。6.2 Svnadminsvnlook是一个用来监控和修改Subversion版本库的管理工具,svnadmin直接访问
46、版本库,它通过路径而不是URL访问版本库。6.2.1 Svnadmin Switches svnadmin -bdb-log-keep -关闭数据库日志自动日志删除功能(Berkeley DB特定)。 svnadmin -bdb-txn-nosync -当提交数据库事务时关闭fsync(Berkeley DB特定)。 svnadmin -bypass-hooks -绕过版本库钩子系统。 svnadmin -clean-loss -删除不使用的Berkeley DB日志。 svnadmin -force-uuid -缺省情况下,当版本库加载已经包含修订版本的数据时,导致版本库的UUID设置为流中
47、的UUID。 svnadmin -ignore-uuid -缺省情况下,当加载空版本时,svnadmin会忽略来自流中的UUID。 svnadmin incremental -导出一个修订版本针对前一个修订版本的区别,而不是所有的结果。 svnadmin -parent-dir DIR -当加载一个转储文件时,根路径为DIR而不是 svnadmin -revision (-r) ARG -指定一个操作的修订版本。 svnadmin quit -不显示通常的过程只显示错误。6.2.2 Svnadmin Subcommands svnadmin create -创建一个新的空的版本库,文件非空会报
48、错。 svnadmin deltify -修订版本范围的路径的增量变化。 svnadmin dump -将文件系统的内容转存到标准输出。 svnadmin help -帮助。 svnadmin hotcopy -热备份版本库。 svnadmin list-dblogs -询问Berkeley DB在给定的Subversion版本库有哪些日志文件存在(只有版本库后端使用bdb时使用)。 svnadmin list-unused-dblogs -询问Berkeley DB哪些日志文件可以安全地删除(只有版本库后端使用bdb时使用)。 svnadmin load -从标准输出读取“转储格式”格式流。
49、 svnadmin lstxns -打印所有未提交的事务名称。 svnadmin recover -将版本库恢复到稳定状态(只有版本库后端使用bdb时使用)。 svnadmin rmtxns -从版本库中删除事务。 svnadmin setlog -设置某个修订版本的信息。 svnadmin vertify -验证版本库保存的数据。6.3 Svnlooksvnlook是检验和查看Subversion版本库的命令行工具,不会修改版本库,通常被版本库钩子使用。svnlook直接访问版本库,它通过路径而不是URL访问版本库。如果没有指定版本或事物,缺省的是版本库的最新修订版本。6.3.1 Svnlook选项 svnlook
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关工委工作先进集体申报表(幼儿园)
- 2024年吉林小车客运从业资格证考试
- 2024年宁夏驾驶员客运资格证模拟考试题及答案详解
- 2024年石家庄客运资格证理论考试答题技巧
- 2024年延边考从业资格证客运试题
- 2024年福建客运应用能力考试题库
- 2024年河南客运从业资格证操作考试题答案
- 2024年梅州客运资格证题库下载
- 2025届河南省周口市商水县周口中英文学校高三生物第一学期期末统考模拟试题含解析
- 《星期日的安排》课件
- 电气专项施工方案(厂房)
- 消化道出血病人护理查房课件
- 梁祝(梁山伯与祝英台)克莱德曼(原版)钢琴双手简谱 钢琴谱
- 公共关系学-实训项目1:公关三要素分析
- 人教版2022年四年级上册数学期中考试考点检查试卷
- 花城版音乐八年级下册第3单元《生死不离》教案
- GB∕T 8163-2018 输送流体用无缝钢管
- 南京中医大《金匮要略》教学大纲
- 钢混组合梁施工方案
- 课件《“多元一体”视域下的中国古代民族关系》
- 初中班主任三年工作规划8篇
评论
0/150
提交评论