如果你的工作副本是最新的,并且没有冲突,你就已经为提交做好准备了,选择你要提交的文件和/或文件夹,然后
→
.
提交对话框将显示每个被改动过的文件,包括新增的、删除的和未受控的文件。如果你不想改动被提交,只要将该文件的复选框的勾去掉就可以了。如果你要加入未受控的文件,只要勾选该文件把它加入提交列表就可以了。
快速选中或者取消选中所有版本控制的或修改过的文件类型,单击列表上方显示项目的项目链接。
关于颜色和基于项目状态覆盖相关的信息,请参考
“本地与远程状态”一节
那些被切换(switched)到不同版本库路径的项也用
(s)
标记来表示。当工作在分支上的时候你可能切换到某处,然后忘记切换回主干。这是你的警告信号!
提交文件还是文件夹?
当你提交文件时,提交对话框只显示你所提中的文件。当你提交文件夹中,提交对话框将自动选择有改动的文件。如果你忘记了你建立的一个新文件,提交文件夹将使你可以找到它。提交一个文件夹
并不
意味着每个文件都被标识为修改过的,它仅仅是通过帮你多做些事从而让你的生活更滋润一点。
在提交对话框中有很多未受控的文件
如果你认为提交对话框显示了太多的未受版本控制的文件(如编译器产生的文件或是编辑器的备份文件),有几种方法可以处理这种情况。你可以:
-
将文件(或是通配符扩展)加入到设置页的排除列表中。这对每个工作副本都起作用。
-
使用
→
,将文件加入
svn:ignore
列表。 这只对你设置了
svn:ignore
属性的路径有效。使用SVN属性对话框,你可以改变一个目录的
svn:ignore
属性。
-
使用
→
来增加文件到
svn:global-ignores
列表中去。这会影响你设置
svn:global-ignores
属性的目录和所有的子文件夹。
参考
“忽略文件和目录”一节
获得更多的信息。
在提交对话框中
双击
任何修改过的文件,将运行外部 diff 工具显示你做的改动。上下文菜单将给你更多的选项,请看屏幕截图。你可以从这里将文件拖动到另一个应用程序中,如文本编辑器或 IDE。
可以通过单击条目左侧的复选框来选中或不选该条目。对于目录,可以按下
Shift
键再
选择
就可以递归该动作。
在底部面板中显示的列是可定制的。如果你
右击
任何一列的头部,你就会看到一个上下文菜单,允许你选择哪一列要显示。还可以在鼠标移动到列边界时通过拖动手把来改变列的宽度。这些定制的内容都会被保留下来,下一次你会见到相同的列。
缺省情况下,当你成功提交修改后,你在这些文件上持有的锁会被自动释放。如果你需要保留锁,请确认选中检查框
保留锁
。此检查框的缺省状态从 Subversion 配置文件的
no_unlock
选项获取。参考
“常规设置”一节
以获得更多关于编辑 Subversion 配置文件的信息。
正在提交到Tag时警告
通常,提交是提交到主干或者分支,而不是标签。毕竟,标签应该固定而且不应该更改。
如果提交试图标识URL,TortoiseSVN 会先显示确认对话框来确保这是否真的需要被完成。因为绝大多数时候,这种提交是意外出现的。
然而,只有在版本库布局是推荐布局的情况下,这个检出才有效。这意味着它使用了名字
主干
,
分支
和
标签
来标记三个主要区域。以防设置不同,可以在设置对话框
“版本图设置”一节
中设置检测什么是标签/分支/主干(同样也称为分类参数
)
拖放
你可以将文件从别的地方拖动到提交对话框,只要工作副本是由同一版本库中检出就可以了。比如,你有一个很大的工作副本,要开好几个资源管理器窗口来查看层次中不同的文件夹。如果你要避免从顶级文件夹提交(冗长而缓慢的文件夹改动检查),你可以打开一个文件夹的提交对话框,然后将别的窗口中的项拖进去,可样就可以一次提交它们了。
你可以将未版本控制的文件拖到工作副本提交对话框中,它们就会被自动增加。
从提交对话框底部的列表中将文件拖拽到日志消息编辑框中,就能以文本格式将文件的路径插入编辑框中。当你想将本次提交相关的文件路径插入日志消息中时该功能非常有用。
修复外部改名
有时候文件不是用 Subversion 改名,于是它们在文件列表中作为丢失和未版本控制的文件出现。为了避免丢失历史,你需要通知Subversion。简单的选择老名称(丢失)和新名称(未版本控制),然后使用
→
来指明这两个文件是改名关系。
修复外部复制
如果复制了一个文件,但不是通过 Subversion 的命令来做的,你可以修复此次复制来确保新文件不会丢失历史。只要简单的选择旧文件(正常或已修改)和新文件(无版本控制),然后使用
→
来修复两个文件的复制关系。