最容易被遗忘的功能
TortoiseSVN 拥有许多功能。大多数时候,您不需要它提供的所有功能,只需要其中几个,具体取决于您从事的项目。但是,有些功能如果您知道它们在那里就会使用。
现在您可能会说,如果一个功能不是很明显,并且隐藏得很深,以至于您甚至不知道它的存在,那么应该改进 UI 以使该功能更加明显。您是对的。
但有时不可能做到这一点,或者我们根本不知道如何做到。
这是其中一种情况
右键拖动
在 Windows 资源管理器中,不仅可以通过用鼠标左键拖动文件来移动/复制文件,还可以通过鼠标右键拖动文件。不同之处在于,左键拖动会立即执行操作,而右键拖动会首先显示一个上下文菜单,您可以在其中选择操作。
TortoiseSVN 将其一些命令添加到右键拖动上下文菜单中。下面的屏幕截图显示了当您将未版本控制的文件/文件夹拖到版本控制的文件夹上时出现的菜单

正如您在屏幕截图中看到的,TortoiseSVN 允许您将文件/文件夹添加到工作副本。这首先将文件移动或复制到工作副本,然后执行“SVN Add”。
“应用补丁”条目仅在您将 *.patch 或 *.diff 文件拖到工作副本上时才会显示。该命令将打开 TortoiseMerge,允许您将补丁文件应用于该工作副本位置。
接下来是当您将版本控制的文件/文件夹从您的工作副本右键拖动到未版本控制的文件夹时,您将看到的上下文菜单

这些命令允许您导出您的项目
- SVN 导出到这里:将拖动的文件/文件夹导出到目标位置,即创建一个不包含 .svn 文件夹的副本
- SVN 全部导出到这里:将拖动的文件/文件夹导出到目标位置,包括未版本控制的文件。
最后但并非最不重要的一点,是当您在工作副本中右键拖动文件/文件夹时获得的命令

这些命令可帮助您在工作副本中移动和复制文件和文件夹
- SVN 在此处移动版本控制的文件:将文件移动到放置位置。如果文件已存在,它将询问您要执行的操作(重命名文件、覆盖文件或取消)。
- SVN 在此处移动并重命名版本控制的文件:与“SVN 在此处移动版本控制的文件”相同,不同之处在于它会要求您为每个放置的文件输入新名称。
- SVN 在此处复制版本控制的文件:与“SVN 在此处移动版本控制的文件”相同,但它会保留原始文件,即文件是复制而不是移动
- SVN 在此处复制并重命名版本控制的文件:与“SVN 在此处移动并重命名版本控制的文件”相同,但它会保留原始文件,即文件是复制而不是移动
那么这些功能真正的好处是什么呢?嗯,您一旦开始使用它们就会知道了 :)
认真地说:如果您想重新组织您的工作副本,移动和复制文件,或者如果您只是想将您的工作副本导出到另一个文件夹,这些命令真的很有用。