TortoiseSVN 日常操作指南(2)

2019-03-29 16:39

当然,你可以不管上面提到的这些形式。你可以随意发挥以满足你或者你的团队的需要。记住不管你怎么选择,那都不会是一个永久的形式,你可以在任何时候重新组织你的仓库。因为branches和tags都是很普通的目录,只要你愿意,TortoiseSVN可以随时移动它们,或改名。 从一种形式转换到另一种形式仅仅需要在服务器端做一些文件或目录移动操作;如果你不喜欢你仓库的某种组织形式,尽管大胆的操作那些目录。

到这里,如果你还没有在你的仓库中创建一个基本的目录架构,接下来你应该这么做: 1. 在你的硬盘中创建一个空目录。

2. 在这个目录中创建一个你中意的目录组织形式。注意现在不要放任何文件进去。 3. 接下来把这个结构导入仓库。在新建的那个目录上单击鼠标右键,选择Import…。这样,就把你刚才创建的临时目录导入到仓库的根目录了,并创建了仓库的基本架构。

注意:你导入的这个目录的目录名是不应该出现在仓库中的,应该只有目录中的内容会出现。比如,创建下面的目录结构: C:\\Temp\\New\\trunk C:\\Temp\\New\\branches C:\\Temp\\New\\tags

将C:\\Temp\\New 导入到仓库的根目录,那么根目录看起来应该是这样的: /trunk /branches /tags

另外你也可以使用仓库浏览器(repository browser)直接在仓库中创建新目录。

4.3.2. Import

在把你的项目导入到仓库之前,下面的工作必须做好:

1. 把项目中不需要的文件删除。(临时文件、编译器创建的文件,比如*.obj、2进制文件等。)

2. 把目录和子目录中的所有文件整理一遍。虽然你可以在导入之后再来进行重命名或删除等操作,但是还是推荐你在导入之前把你的项目整理好。

现在,在资源管理器(windows explorer)中选择项目的根目录,单击鼠标右键,选择Import…命令,跳出一个对话框:

在这个对话框中你需要填写你要将项目导入仓库的URL地址。 那个Important Message是用来记录日志信息的。 重要信息:

和exclude pattern匹配的文件或文件夹不会被导入。

当你按下OK按钮,TortoiseSVN就开始把整个目录树包括所有文件导入到仓库了。和前面讲到的一样,这个目录的名字不会出现在仓库中,只有目录中的内容会出现。现在,你的这个项目就处于版本控制之下了。请注意,你刚才导入的这个目录(在你本地硬盘上的这个)并没有处于版本控制下!要获取一份处于版本控制之下的工作副本,你需要对刚导入的版本做一次取出(Checkout)操作。

4.3.3. Special Files

有时候你需要版本控制一个存储着用户个性信息的文件。也就是说这个文件每个开发者或用户都会去修改以适应他本地的设置。但每个用户在进行提交(commit)操作时都会把这个文件的修改提交给仓库,这就使得版本控制这样一个文件很困难。

在这种境况下,建议使用模版文件。你可以创建一个包含开发人员需要的所有数据的文件,把它添加到版本控制之下,然后让开发人员取出这份文件。接下来,每个开发人员就可以给这个文件做个备份,然后给他改个名字。这样操作之后,不管怎么修改这个备份都不再是什么问题了。 As an example, you can have a look at TortoiseSVN's build script. It calls a file named TortoiseVars.bat which doesn't 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. we've set the Subversion property svn:ignored to include that filename. That way it won't show up as unversioned on every commit.

4.3.4. Referenced Projects

Sometimes 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.

Let's say you check out a working copy of /project1 to D:\\dev\\project1. Select the folder D:\\dev\\project1, 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 http://svn.collab.net/repos/svn/trunk

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.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。 4.5. 获取状态信息Getting Status Information

当你在你的工作副本中工作的时候,你经常会需要知道哪些文件被修改过,哪些被增加,哪些被重命名,或者哪些文件是其他人修改和提交的。

4.5.1. 覆盖图标Icon Overlays

图4.5 覆盖图标

在从仓库中取出工作副本之后,你会发现资源管理器中文件的图标发生了变化。这就是TortoiseSVN受欢迎的一个原因。TortoiseSVN为每个文件图标在原来的基础上增加了一个叫做覆盖图标的东东。覆盖图标根据Subversion状态的不同而显示不同的图标。

绿色图标表示这是一个最新取出的工作副本,他的Subversion状态是normal。

当你开始编辑一个文件,这个文件的状态就会变成modified,图标也会变成红色圆圈带一个感叹号。这样你就可以轻易的知道自从上次更新以来都有修改过哪些文件,需要提交哪些文件。

这个黄色三角符号带感叹号,表示在一次update中产生了一个冲突(conflict)。

蓝色加号意味着这个文件或文件夹已经被计划加入到版本控制之下。

红叉叉表示相应文件或文件夹被计划删除(deleted),或者表示文件缺失。

文件夹也有这样的覆盖图标显示。默认情况下只会显示文件夹自己的状态。但你也可以在Settings(4.21节,“TortoiseSVN的Settings”)中做一些设置,让文件夹的图标递归显示。但这会导致覆盖图标显示缓慢,因此在不太好的机器上或工作副本太大我们都不推荐这样。 在这样设置之后,每个文件夹都会显示为他下面所有文件的状态,优先显示顺序为

confilct>modified>normal。这样你就可以轻松的看到一个文件夹是否有冲突或者修改过了。

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


TortoiseSVN 日常操作指南(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于我市地下空间开发利用的调查与思考

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: