TortoiseSVN使用手册

上传人:仙*** 文档编号:33277327 上传时间:2021-10-16 格式:DOC 页数:48 大小:1.07MB
返回 下载 相关 举报
TortoiseSVN使用手册_第1页
第1页 / 共48页
TortoiseSVN使用手册_第2页
第2页 / 共48页
TortoiseSVN使用手册_第3页
第3页 / 共48页
点击查看更多>>
资源描述
Doc Ref: TWP 技术白皮书九月 25, 2006技术白皮书HAND Enterprise Solutions Company Ltd. Author:Creation Date:November 29, 2005Last Updated:九月 25, 2006Document Ref:TWP Version:DRAFT 1A Copy Number_Document ControlChange Record4DateAuthorVersionChange Reference22-Sep-06Siomon LiuDraft 1aNo Previous DocumentReviewersNamePositionDistributionCopy No.NameLocation1234Note To Holders:If you receive an electronic copy of this document and print it out, please write your name on the equivalent of the cover page, for document control purposes.If you receive a hard copy of this document, please write your name on the front cover, for document control purposes.ContentsDocument Control11233710131316181920202122272932323334414243Open and Closed Issues for this Deliverable 44 File Ref: E46cc53343fc178ce6ce1e901b846ec2.pdf (v. DRAFT 1A ) 1.使用 TortoiseSVN图1:在版本控制下的目录菜单所有TortoiseSVN命令都集成在Windows的资源管理器的菜单中。当你在一个文件或文件夹单击鼠标右键时,大多数命令都会直接显示出来。哪些菜单显示出来,依赖于文件或文件夹是否处于版本控制之下。在工作副本目录中,当你用鼠标右键拖拽文件或文件夹到一个新目录,或者把没有在版本控制下的文件或文件夹拖拽到版本控制下的目录中,就会显示另外一些命令在右键菜单中。2.认证假如你试图访问一个有密码保护的仓库,一个认证对话框会跳出来。图2:认证对话框输入你的用户名和密码。那个复选框可以让TortoiseSVN保存认证信息在Subversion的默认目录中:$APPDATASubversionauth。如果你想让Subversion和TortoiseSVN忘记你的认证信息,你必须删除相关的文件。重要信息:在Windows2000及其以上的系统中,认证信息被加密保存在注册表中。要删除认证信息,请选择settings对话框,并且点击Clear Auth Cache按钮。提示:如果你是使用WindowsNT域的认证方式,那么在输入用户名时要包括域名,比如:MYDOMAIN/johnd。3.导入数据到仓库Importing Data Into A Repository3.1.仓库规划Repository Layout在将数据导入到仓库之前,你必须先想好如何组织存放你的数据。如果你使用一种我们推荐的规划方式,你将在以后的使用中感觉到很舒服。我们这里有很多种标准的推荐仓库组织形式。大多数人会创建一个trunk目录来存放开发的“主线”,一个branches目录来存放支线副本,另外还有一个tags目录来存放标签副本。假如一个仓库只保存一个项目,经常会创建这样的几个顶级目录:/trunk/branches/tags如果一个仓库存放多个项目,经常会像下面这样根据分支来规划:/trunk/paint/trunk/calc/branches/paint/branches/calc/tags/paint/tags/calc.或者根据项目分成多个目录:/paint/trunk/paint/branches/paint/tags/calc/trunk/calc/branches/calc/tags如果多个项目之间的关系不是很紧密,并且他们都是被单独取出的,那根据项目来规划会比较有意义些。For related projects where you may want to check out all projects in one go, or where the projects are all tied together in a single distribution package, it is often better to index by branch. This way you have only one trunk to checkout, and the relationships between the sub-projects is more easily visible.对那些相关的项目(),最好根据分支来组织规划。这样的话,你就只有一个trunk需要checkout,而且子项目间的关系会更明显。你如果采用/trunk /tags /branches并列于根目录的方式,那你必须为每个branch和tag复制整个trunk,也就是说这种结构显得更机动些。对不相干的项目来说,你可以使用多个不同的仓库。当你提交一个改动,版本号会是整个仓库的版本号,而不是项目的版本号。2个不相干的项目共享一个仓库会在版本号方面导致极大的不方便。Subversion和TortoiseSVN的项目看起来好像在同一个地址,但事实上他们在完全不同的仓库中研发着,并且在版本号方面完全的不相干。当然,你可以不管上面提到的这些形式。你可以随意发挥以满足你或者你的团队的需要。记住不管你怎么选择,那都不会是一个永久的形式,你可以在任何时候重新组织你的仓库。因为branches和tags都是很普通的目录,只要你愿意,TortoiseSVN可以随时移动它们,或改名。从一种形式转换到另一种形式仅仅需要在服务器端做一些文件或目录移动操作;如果你不喜欢你仓库的某种组织形式,尽管大胆的操作那些目录。到这里,如果你还没有在你的仓库中创建一个基本的目录架构,接下来你应该这么做:1. 在你的硬盘中创建一个空目录。2. 在这个目录中创建一个你中意的目录组织形式。注意现在不要放任何文件进去。3. 接下来把这个结构导入仓库。在新建的那个目录上单击鼠标右键,选择Import。这样,就把你刚才创建的临时目录导入到仓库的根目录了,并创建了仓库的基本架构。注意:你导入的这个目录的目录名是不应该出现在仓库中的,应该只有目录中的内容会出现。比如,创建下面的目录结构:C:TempNewtrunkC:TempNewbranchesC:TempNewtags将C:TempNew 导入到仓库的根目录,那么根目录看起来应该是这样的:/trunk/branches/tags另外你也可以使用仓库浏览器(repository browser)直接在仓库中创建新目录。3.2. Import在把你的项目导入到仓库之前,下面的工作必须做好: 1. 把项目中不需要的文件删除。(临时文件、编译器创建的文件,比如*.obj、2进制文件等。)2. 把目录和子目录中的所有文件整理一遍。虽然你可以在导入之后再来进行重命名或删除等操作,但是还是推荐你在导入之前把你的项目整理好。现在,在资源管理器(windows explorer)中选择项目的根目录,单击鼠标右键,选择Import命令,跳出一个对话框:在这个对话框中你需要填写你要将项目导入仓库的URL地址。那个Important Message是用来记录日志信息的。重要信息:和exclude pattern匹配的文件或文件夹不会被导入。当你按下OK按钮,TortoiseSVN就开始把整个目录树包括所有文件导入到仓库了。和前面讲到的一样,这个目录的名字不会出现在仓库中,只有目录中的内容会出现。现在,你的这个项目就处于版本控制之下了。请注意,你刚才导入的这个目录(在你本地硬盘上的这个)并没有处于版本控制下!要获取一份处于版本控制之下的工作副本,你需要对刚导入的版本做一次取出(Checkout)操作。3.3. Special Files有时候你需要版本控制一个存储着用户个性信息的文件。也就是说这个文件每个开发者或用户都会去修改以适应他本地的设置。但每个用户在进行提交(commit)操作时都会把这个文件的修改提交给仓库,这就使得版本控制这样一个文件很困难。在这种境况下,建议使用模版文件。你可以创建一个包含开发人员需要的所有数据的文件,把它添加到版本控制之下,然后让开发人员取出这份文件。接下来,每个开发人员就可以给这个文件做个备份,然后给他改个名字。这样操作之后,不管怎么修改这个备份都不再是什么问题了。 As an example, you can have a look at TortoiseSVNs build script. It calls a file named TortoiseVars.bat which doesnt exist in the repository. Only the file TortoiseVars.tmpl. TortoiseVars.tmpl is the template file which every developer has to create a copy from and rename that file to TortoiseVars.bat. Inside that file, we added comments so that the users will see which lines they have to edit and change according to their local setup to get it working. So as not to disturb the users, we also added the file TortoiseVars.bat to the ignore list of its parent folder, i.e. weve set the Subversion property svn:ignored to include that filename. That way it wont show up as unversioned on every commit. 3.4. Referenced ProjectsSometimes it is useful to construct a working copy that is made out of a number of different checkouts. For example, you may want different subdirectories to come from different locations in a repository, or perhaps from different repositories altogether. If you want every user to have the same layout, you can define the svn:externals properties. Lets say you check out a working copy of /project1 to D:devproject1. Select the folder D:devproject1, right click and choose properties from the context menu. The Properties Dialog comes up. Then go to the Subversion tab. There, you can set properties. Select the svn:externals property from the combobox and write in the edit box the repository url in the format name url. For example subversion Now click Set and commit your changes. If a user updates their working copy the external project is checked out, too. If you need more information how TortoiseSVN handles Properties read Section 4.9, “Get/Set Information About Files/Directories”. 4.取出工作副本Checking Out A Working Copy为了获取一个工作副本,你必须从仓库中做一次取出(checkout)操作。在资源管理器中选择一个你想要存放工作副本的目录。单击鼠标右键跳出菜单,选择命令Checkout,再跳出一个窗口:如果你输入一个不存在的目录名,那这个目录会自动创建。重要信息你只能取出到一个空目录。假如你想要取出到先前导入的原始目录,Subversion会抛出一个错误。你必须取出到另外的一个目录或者先把原始目录删掉。强烈建议您仅取出trunk部分。假如你坚持要取出父目录,那你有可能就会把你的硬盘塞满,因为你将得到整个仓库的数据(包括项目的每一个branch和tag)。 导出Exporting有时候你也许需要一份没有那些.svn目录的工作副本,比如要建一个源代码zip压缩包。TortoiseSVN提供一个导出命令 Export,可以免除我们自己动手来操作(做一个副本,然后手动删除所有.svn目录)。如果你在工作副本中执行这个命令,你可以选择一个目录用来存放没有.svn目录的干净工作副本。同样,你也可以指定是导出所有文件还是那些被版本控制的文件。 导出的另一种方法是,用鼠标右键拖拽一个工作目录到其他地方,然后选择Subversion export here 或者 Subversion export all here。5.获取状态信息Getting Status Information当你在你的工作副本中工作的时候,你经常会需要知道哪些文件被修改过,哪些被增加,哪些被重命名,或者哪些文件是其他人修改和提交的。5.1.覆盖图标Icon Overlays- 图4.5 覆盖图标在从仓库中取出工作副本之后,你会发现资源管理器中文件的图标发生了变化。 这就是TortoiseSVN受欢迎的一个原因。TortoiseSVN为每个文件图标在原来的基础上增加了一个叫做覆盖图标的东东。覆盖图标根据Subversion状态的不同而显示不同的图标。绿色图标表示这是一个最新取出的工作副本,他的Subversion状态是normal。当你开始编辑一个文件,这个文件的状态就会变成modified,图标也会变成红色圆圈带一个感叹号。这样你就可以轻易的知道自从上次更新以来都有修改过哪些文件,需要提交哪些文件。这个黄色三角符号带感叹号,表示在一次update中产生了一个冲突(conflict)。蓝色加号意味着这个文件或文件夹已经被计划加入到版本控制之下。红叉叉表示相应文件或文件夹被计划删除(deleted),或者表示文件缺失。文件夹也有这样的覆盖图标显示。默认情况下只会显示文件夹自己的状态。但你也可以在Settings(4.21节,“TortoiseSVN的Settings”)中做一些设置,让文件夹的图标递归显示。但这会导致覆盖图标显示缓慢,因此在不太好的机器上或工作副本太大我们都不推荐这样。在这样设置之后,每个文件夹都会显示为他下面所有文件的状态,优先显示顺序为confilctmodifiednormal。这样你就可以轻松的看到一个文件夹是否有冲突或者修改过了。Slow Overlays You may notice that if you enable the recursive overlay for folders that the explorer slows down remarkably when browsing working copies. This depends on how big your working copy is and how much RAM Windows can use for file index caching. Usually its only very slow the first time you browse such a directory - if you browse the same directory later again its much faster. If you want to disable the recursive overlays for some folders but not for all then you can do that by creating a file called _tsvnexcluderecursive inside that folder. This will disable the recursive overlays for that folder, but not for the files or folders inside it. You can also disable the overlays completely for a folder by creating a file called _tsvnexcludethis inside that folder. Again, this disables the overlays only for that folder, not the folders inside it. You can define specific paths to be excluded from showing overlays on the settings page (Section 4.21.2, “The Settings Dialog, Look and Feel Tab”). 和TortoiseCVS(CVS客户端)不一样,没有被版本控制的文件是没有覆盖图标的。所以这样做,是因为覆盖图标的数量是有限的,我们应该节约点使用:)5.2.资源管理器中TortoiseSVN的专栏和覆盖图标一样有用(或更有用)的信息可以显示在浏览器详细资料视图方式时的附加栏中。Simply right click on one of the headings of a column, choose More. from the context menu displayed. A dialog will appear where you can specify the columns and their order, which is displayed in the Detailed View. Scroll down until the entries starting with SVN come into view. Check the ones you would like to have displayed and close the dialog by pressing OK. The columns will be appended to the right of those currently displayed. You can reorder them by drag and drop, or resize them, so that they fit your needs. 技巧TipIf you want the current layout to be displayed in all your working copies, you may want to make this the default view. 5.3.仓库状态Status Of The Repository图4.6.检查修改Check for Modifications清楚地知道自己修改了哪些文件以及别人修改提交了哪些文件是很有用的。这就是命令Check For Modifications用的着的地方了。这个对话框显示出你的工作副本中修改过的每一个文件,没有在版本控制下的文件也会被显示出来。点击Check Repository按钮,可以检查仓库中的改动。在做update之前,你可以这么做一下,来检查是否有冲突的可能。在其中选择文件或文件夹单击鼠标右键,在菜单中我们可以选择查看文件的差别,或者把本地的修改取消。TortoiseSVN会从仓库中自动下载最新的版本来进行比较。5.4. Viewing Diffs我们经常会想要在文件里面查看哪些地方修改了。你可以先选择已经修改的文件,单击鼠标右键,选择TortoiseSVN的命令Diff。然后会打开一个比较查看器,它会对本地的文件和仓库中最新版本的内容进行详细的对比。 技巧Tip不在工作目录中,或者你有多个版本的文件在一起的时候,你也可以使用比较功能:在资源管理器中选中你要进行比较的两个文件(使用Ctrl键和鼠标),然后选择TortoiseSVN的菜单命令Diff。最后被点选的文件(焦点所在的那个,也就被虚线矩形框住的那个)将被认为是被修改过的那个。6. 更新工作副本Update Your Working Copy With Changes From Others图 4.7. 已完成更新的对话框有时候你想要把别人做的修改融合到自己的本地副本当中。这个把改动从服务器拿到本地的过程就是我们已经知道的updating。Updating操作可以针对一个文件,或几个被选择的文件,或某个目录中的所有文件。选择你想要进行update操作的文件和(或)文件夹,单击鼠标右键,在菜单中选择Update。这时会跳出一个窗口显示正在update的进程。别人做的修改会合并到你的文件中,而你所做的修改会被保留。Update操作对仓库是不会产生任何影响的。 进程对话框用不同颜色的文字来表示不同的update动作。蓝色加入到你的工作副本中的新条目。 深红从你的副本中删除的条目。绿色成功将改动合并到本地的条目。亮红合并改动到本地,但是有冲突需要解决。黑色所有其它的。如果你在更新中产生了冲突(当你和别人同时修改了同一个文件的同一行并且改动的不同会发生这种情况),对话框中会用红色文字显示出冲突。双击对应的行就可以启动外挂程序来解决冲突。TortoiseSVN 同时也允许你更新工作副本到一个特定的版本,并不仅仅是最新的版本。这个命令就是Update to Revision,他会跳出一个对话框来让你输入你需要的版本。小心Caution If you update a file or folder to a specific revision, you will get out of date error messages when you try to commit them! If you want to undo changes to a file and start afresh from an earlier revision, you must either use the Revert changes from this revision command from the log dialog or the Merge. menu command.命令Update to Revision.可以让你的工作回复到以前的版本。比如说你的工作副本现在的版本是100,但你想要看看版本为50的时候是什么样子,那就可以简单的将版本更新到50即可。一般来说,更新一个单独的文件到以前的版本并不太好,因为这会导致你的工作副本处于一个不一致的状态。假如你更新的文件改过名字,有可能你只是发现那个文件消失了,因为在以前的那个版本,根本不存在那个名字的文件。如果你只是需要某个文件的老版本副本,最好在日志对话框中使用Save revision to.命令来搞定。警告Warning If you updated your working copy to an earlier revision, you must not make changes to the files! You will get out of date errors if you try to commit those changes. If you want to revert some changes in your working copy, then use the repository browser and save the file in question over the file in your working copy. Or you can use the log dialog and use the command Revert changes in this revision. This will undo only those changes made in the selected revision. Changes made after that revision will be retained. For reverting multiple revisions, you should use the merge command, where you can specify the range of revisions you want to undo.多个文件或文件夹Multiple Files/Folders If you select multiple files and folders in the explorer and then select Update, all of those files/folders are updated one by one. TortoiseSVN makes sure that all files/folders which are from the same repository are updated to the exact same revision! Even if between those updates another commit occurred.本地文件已存在Local File Already Exists Sometimes when you try to update, the update fails with a message to say that there is already a local file of the same name. This typically happens when Subversion tries to checkout a newly versioned file, and finds that an unversioned file of the same name already exists in your working folder. Subversion will never overwrite an unversioned file - it might contain something you are working on, which coincidentally has the same filename as another developer has used for his newly committed file.If you get this error message, the solution is simply to rename the local unversioned file. After completing the update, you can check whether the renamed file is still needed.If you keep getting error messages, use Check for modifications instead to list all the problem files. That way you can deal with them all at once. 7. 解决冲突Resolving Conflicts有时候,你从仓库更新文件时会发生一些冲突。当两个或更多开发人员对同一个文件的某几行做了修改,就会产生冲突。因为Subversion对你的项目一无所知,他会把冲突留给开发人员来解决。只要冲突产生了,你就应该打开有问题的文件,然后找到以“”开头的那几行,有冲突的区域会被下面这样标示: revision另外,对每一个有冲突的文件,Subversion都会在你的目录中放三个另外的文件:filename.ext.mine这个文件是更新工作副本之前,冲突文件在你的工作副本中原来的样子。其中没有任何冲突标记。filename.ext.rOLDREV这个文件是版本号为OLDREV时的文件。也就是你做修改之前最后一次取出的文件。filename.ext.rNEWREV这是你更新时Subversion客户端从服务器收到的最新版本的文件。他是仓库的最新版本。你可以在菜单中选择Edit Conflict来打开一个合并工具或冲突编辑器,或者用其他编辑器来解决这个冲突。你必须决定这些代码到底该是什么样子,做一些必要的修改,然后保存文件。然后选择菜单中的Resolved命令执行,接着提交修改到仓库。请注意,命令Resolved并没有真正的解决冲突,它只不过是把filename.ext.mine 和 filename.ext.r*删除,并允许你提交修改而已。8. 把你的修改发送到仓库Sending Your Changes To The Repository发送你对工作副本的修改就是提交修改。在提交之前,你应该确认你的工作副本是最新的。你可以直接作一次Update操作,或者先Check for Modifications看看在本地或在服务器上哪些文件修改过。如果你的副本是最新的,并且没有冲突,你就可以提交你的修改了。选中你想要提交的任意文件或文件夹,然后选择在菜单中选择Commit。图 4.8. 提交对话框提交对话框会显示每一个有修改的文件,包括新增的,删除的,还有没有版本控制的。如果你不想提交某个有修改的文件,只要不勾选那个文件就好了。如果你要提交某个没有做版本控制的文件,只要勾选它就可以提交了。Commit files or folders? When you commit files, the commit dialog shows only the files you have selected. When you commit a folder the commit dialog will select the changed files automatically. If you forget about a new file you created, committing the folder will find it anyway. Committing a folder does not mean that every file gets marked as changed; It just makes your life easier by doing more work for you.Many unversioned files in the commit dialog If you think that the TSVN commit dialog shows you too many unversioned (e.g. compiler generated or editor backup) files, there are several ways to handle this. You can: add the file (or a wildcard extension) to the list of files to exclude on the settings page. This will affect every working copy you have. add the file to the svn:ignore list using the Add to ignore list context menu. This will only affect the directory on which you set the svn:ignore property. Using the SVN Property Dialog, you can alter the svn:ignore property for a directory. Read Section 4.12, “Ignoring Files And Directories” for more information.在提交对话框中双击一个有修改的文件,可以启动外挂的比较工具来显示修改细节。 在按下OK按钮之后,会出来一个显示提交进程的对话框。图 4.9. 显示提交进程的对话框这个显示进程的窗口中采用了不同颜色的文字来表示不同的提交动作。蓝色Blue提交一个修改的或新的条目。深红Dark red提交一个删除或覆盖操作。黑色Black其它所有条目。Special Folder PropertiesThere are several special folder properties which can be used to help give more control over the formatting of commit log messages. Read Section 4.9, “Get/Set Information About Files/Directories” for further information.Integration with Bugtracking ToolsIf you have activated the bugtracking system, you could set one or more Issues in the Bug-ID / Issue-Nr: Textfield. Several Issues should be comma separated. Learn more Section 4.10, “Integration with Bugtracking Systems”.9. Get/Set Information About Files/Directories图4.10. Subversion属性页有时你想得到一个文件或文件夹更细节的,比覆盖图标更多的信息。你可以在浏览器属性对话框中得到Subversion提供的所有信息。选择文件或文件夹,然后在菜单中选择属性(注意:这个属性是资源管理器提供的那个菜单中的属性,不在TortoiseSVN子菜单里面)。在属性对话框中TortoiseSVN为在Subversion控制下的文件或文件夹加入了一个新的属性页。在Subversion的属性页,你可以看到选中文件或文件夹所有的相关信息。另外你还可以读到或设置它的subversion属性。你可以加入你自己的属性,或者一些在subversion中有特殊含义的属性。那些以svn:和svn:externals就是这样的属性。如何使用这些扩展信息请参看4.3.4节, “Referenced Projects”。更多subversion属性信息,请参看Subversion Manual。要设置一个属性,先在下拉框选择需要的属性名,然后在下方的输入框中键入值。那些有多个值得属性,比如忽略列表,可以分成多行来输入。单击Set按钮来添加属性到列表中。如果你要应用一个属性到一个目录下的每一个文件和目录,注意选中Recursive复选框。如果你要修改一个已存在的属性,先在列表中选中他,然后就可以修改了。同样,要删除一个已存在的属性,可以先在列表中选中他,再单击Remove按钮。TortoiseSVN也有一些自己的特殊属性,他们以tsvn:打头: tsvn:minlogmsgsize设置了提交时日志的最小长度。如果你没有输入指定长度的信息,是不能提交的。这个功能对你在每一次做提交操作时提醒你写一些合适的描述信息是很有用的。如果这个属性没有设置,或者他的值为0,那表示不填日志信息也可以。 tsvn:logwidthmarker用在需要有一定格式日志信息的项目中,日志信息每行的宽度有限制(常见的是80个字符)。设置这个属性为一个非零值,将导致2个现象:出现一个灰色线条指示最宽的宽度,还有,自动换行没有了。这样你就能看到自己的文字是不是写的太长了。注意:这个功能只有在给日志显示选择了固定宽度字体时才能正常工作。 tsvn:logtemplate用在一些有日志格式规范的项目中。这个属性包含多行的文本,当进行一个commit操作时,这些文本就会自动插入到提交信息窗口中。接下来,你就可以在其中再加入必要的信息。注意:如果你还使用了tsvn:minlogmsgsize属性,那一定要保证设置的长度比模板中的长,否则你将失去这个保护机制。(Note: if you are also using tsvn:minlogmsgsize, be sure to set the length longer than the template or you will lose the protection mechanism.) 在提交对话框中,你可以把有改动的文件列表粘贴进来,包括每个文件的状态(added,modified,等)。tsvn:logfilelistenglish定义了显示的文件状态文字是英文还是本地语言。如果这个属性没有设置,默认为true。 TortoiseSVN可以使用拼写检查模块,就像OpenOffice和Mozilla使用的。如果你安装了这些东东,这个属性可以决定使用哪个拼写检查模块,比如你的项目的日志信息应该用哪种语言来写。tsvn:projectlanguage设置了日志信息中拼写检查器要使用的语言模块。在这里可以找到你的语言要使用的值:MSDN: Language Identifiers。某些tsvn:属性需要一个true或者false的值。另外,TSVN会懂得把yes当作true,把no当作false。Set the tsvn: properties on foldersThese tsvn: properties must be set on folders for the system to work. When you commit a file or folder the properties are read from that folder. If the properties are not found there, TortoiseSVN will search upwards through the folder tree to find them until it comes to an unversioned folder, or the tree root (eg. C:) is found. If you can be sure that each user checks out only from e.g trunk/ and not some subfolder, then it is sufficient to set the properties on trunk/. If you cant be sure, you should set the properties recursively on each subfolder. A property setting deeper in the project hierarchy overrides settings on higher levels (closer to trunk/). For tsvn: properties only you can use the Recursive checkbox to set the property to all subfolders in the hierarchy, without also setting it on all files.Commit propertiesSubversion properties are versioned. After you change or add a property you have to commit your changes.Conflicts on propertiesIf theres a conflict on committing the changes, because another user has changed the same property, Subversion generates a .prej file. Delete this file after you have resolved the conflict.Automatic property settingYou can configure subversion to set properties automatically on files and folders when they are added to the repository. Read Section 4.21, “TortoiseSVNs Settings” for further information.TortoiseSVN能够和一些bug跟踪系统整合到一起。这需要使用那些bugtraq:开头的属性。更多相关信息请阅读第4.10节 “整合BUG跟踪系统Integration with Bugtracking Systems”。10. Bug跟踪系统Integration with Bugtracking Systems你可以选择为TortoiseSVN整合一套Bug跟踪系统。要达到这个目的,你必须为目录定义一些以bugtraq:开头的属性(第4.9节 获取(修改)文件(目录)信息):bugtraq:message这个属性能够激活Bug跟踪系统。一旦这个属性被设置,提交修改时,TortoiseSVN会要求你输入一个流水号。而这个属性的值将被放在日志信息的末尾,其中必须包含%BUGID%,这个%BUGID%在提交时会被流水号替换掉。这就能保证你提交的日志信息中包括Bug流水号,这个流水号经常会有一个特定的格式,并且与你的Bug跟踪系统协调工作。比如,我们的TortoiseSVN项目就正在使用这样的流水号:%BUGID%。(e.g the TortoiseSVN project is using Issue : %BUGID%, but this depends on your Tool.)bugtraq:append当这个属性为true时,上面提到的BUGID将出现在日志的末尾,当为false时,BUGID将出现在日志的开头。该属性的有效值为true或false。假如没有定义,系统将默认为true,这样能够保证
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!