如果你需要TortoiseSVN如何处理属性的更多信息,请阅读第 5.15 节 “项目设置”。
如果你需要知道存取公共子个我我你工程的不同方法,请阅读第 B.6 节 “包含一个普通
5.3. 检出工作拷贝
为了得到一个工作拷贝,需要进行从版本库检出的操作。
在Windows资源管理器里选择一个存放工作拷贝的目录。右键点击弹出右键菜单,选择 → 命令。然后就会看到下面的对话框:
图 5.7. 检出对话框

如果输入一个并不存在的目录名,那么这个名字的目录就会被创建出来。
|
|
重要 |
|---|---|
|
你应该只检出到一个空的目录。如果你要将你的源代码树检出到与你导入它们时相同的目录,Subversion会给出一个错误信息它不会用已受控的文件覆盖已经存在的但未受控的文件。你必须检出到一个不同的目录或是先将已经存在的源代码树删除。 |
如果你只希望检出最顶层的文件夹而忽略子文件夹,请选中只检出顶层文件夹复选框。
如果项目含有外部项目的引用,而这个引用你不希望同时检出,请选中忽略外部的复选框。
|
|
重要 |
|---|---|
|
如果这两个选项的任何一个选中了,你应该使用 → 来更新你的工作复本而不是使用 → 。标准的更新将会包含所有的子文件夹和外部引用。 |
强烈建议你只检出trunk的那部分目录树。如果你在URL中指定了目录树的父路径,你的硬盘有可能被塞满,因为你将会得到整个版本库树的复本,包括项目所有的分支和标签(tag)!
|
|
关于导出 |
|---|---|
|
有时你可能想要建立一个没有 |
5.4. 让你的修改进入版本库
将你对工作复本的修改发送给版本库,称为提交修改。但在你提交之前要确保你的工作副本是最新的。你可以直接使用 → ,或者,你可以先使用 → 看看哪些文件在本地或是服务器上已经有了改动。
如果你的工作复本是最新的,并且没有冲突,你就已经为提交做好准备了,选择你要提交的文件和/或文件夹,然后 → .
图 5.8. 提交对话框

提交对话框将显示每个被改动过的文件,包括新增的、删除的和未受控的文件。如果你不想改动被提交,只要将该文件的复选框的勾去掉就可以了。如果你要加入未受控的文件,只要勾选该文件把它加入提交列表就可以了。
那些被切换(switched)到不同版本库路径的项也用(s)标记来表示。当工作在分支上的时候你可能切换到某处,然后忘记切换回主干。这是你的警告信号!
|
|
提交文件还是文件夹? |
|---|---|
|
当你提交文件时,提交对话框只显示你所提中的文件。当你提交文件夹中,提交对话框将自动选择有改动的文件。如果你忘记了你建立的一个新文件,提交文件夹将使你可以找到它。提交一个文件夹并不意味着每个文件都被标识为修改过的,它仅仅是通过帮你多做些事从而让你的生活更滋润一点。 |
如果你修改的文件是使用了svn:externals从别的版本库中包含进来的,那么这些改动不会被自动提交。在文件列表下方的警告符号会告诉你是否出现了这种状况,工具提示(tooltip)提示了外部文件必须要分开提交。
|
|
在提交对话框中有很多未受控的文件 |
|---|---|
|
如果你认为TSVN提交对话框显示了太多的未受控文件(如编译器产生的文件或是编辑器的备份文件),有几种方法可以处理这种情况。你可以:
参考第 5.11 节 “忽略文件和目录” 获得更多的信息。 |
在提交对话框中双击任何修改过的文件,将运行外部diff工具显示你作的改动。上下文菜单(右键菜单)将给你更多的选项,请看屏幕截图。你可以从这里将文件拖动到另一个应用程序中,如文本编辑器或是IDE。
在底部面板中显示的列是可定制的。如果你右击任何一列的头部,你就会看到一个上下文菜单,允许你选择哪一列要显示。还可以在鼠标移动到列边界时通过拖动手把来改变列的宽度。这些定制的内容都会被保留下来,下一次你会见到相同的列。
|
|
拖放 |
|---|---|
|
你可以将文件从别的地方拖动到提交对话框,只要工作复本是由同一版本库中检出就可以了。比如,你有一个很大的工作复本,要开好几个资源管理器窗口来查看层次中不同的文件夹。如果你要避免从顶级文件夹提交(冗长而缓慢的文件夹改动检查),你可以打开一个文件夹的提交对话框,然后将别的窗口中的项拖进去,可样就可以一次提交它们了。 |

![[重要]](/uploads/allimg/080318/1044389.png)
![[提示]](/uploads/allimg/080318/1044385.png)