手册

TortoiseSVN 命令

检出

svn checkout [-depth ARG] [--ignore-externals] [-r rev] URL PATH
      

深度组合框项目与 -depth 参数相关。

如果选中了 忽略外部,请使用 --ignore-externals 开关。

如果您要检出特定版本,请在 URL 后使用 -r 开关指定。

更新

svn info URL_of_WC
svn update [-r rev] PATH
      

在 Subversion 中,更新多个项目目前不是原子操作。因此,TortoiseSVN 首先找到存储库的 HEAD 版本,然后将所有项目更新到该特定版本号,以避免创建混合版本的工作副本。

如果只选择了一个项目进行更新,或者所选项目并非都来自同一个存储库,TortoiseSVN 只会更新到 HEAD。

此处不使用任何命令行选项。 更新到版本 也实现了更新命令,但提供了更多选项。

更新到版本

svn info URL_of_WC
svn update [-r rev] [-depth ARG] [--ignore-externals] PATH
      

深度组合框项目与 -depth 参数相关。

如果选中了 忽略外部,请使用 --ignore-externals 开关。

提交

在 TortoiseSVN 中,提交对话框使用多个 Subversion 命令。第一步是状态检查,它确定工作副本中可能被提交的项目。您可以查看列表,将文件与 BASE 进行比较,并选择要包含在提交中的项目。

svn status -v PATH
      

如果选中了 显示未版本化文件,TortoiseSVN 还将显示工作副本层次结构中所有未版本化的文件和文件夹,并考虑忽略规则。此特定功能在 Subversion 中没有直接等效项,因为 svn status 命令不会深入到未版本化的文件夹中。

如果您选中了任何未版本化的文件和文件夹,这些项目将首先被添加到您的工作副本中。

svn add PATH...
      

当您单击确定时,Subversion 提交将执行。如果您将所有文件选择复选框保留在默认状态,TortoiseSVN 将使用工作副本的单个递归提交。如果您取消选中某些文件,则必须使用非递归提交 (-N),并且必须在提交命令行上单独指定每个路径。

svn commit -m "LogMessage" [-depth ARG] [--no-unlock] PATH...
      

LogMessage 在此处代表日志消息编辑框的内容。它可以为空。

如果选中了 保留锁,请使用 --no-unlock 开关。

差异

svn diff PATH
      

如果您从主上下文菜单使用差异,您正在将修改后的文件与它的 BASE 版本进行比较。上面 CLI 命令的输出也执行此操作,并以统一差异格式生成输出。但是,这不是 TortoiseSVN 使用的。TortoiseSVN 使用 TortoiseMerge(或您选择的差异程序)以可视方式显示完整文本文件之间的差异,因此没有直接的 CLI 等效项。

您还可以使用 TortoiseSVN 对任何两个文件进行差异比较,无论它们是否受版本控制。TortoiseSVN 只将这两个文件馈送到所选的差异程序,并让它找出差异所在。

显示日志

svn log -v -r 0:N --limit 100 [--stop-on-copy] PATH
or
svn log -v -r M:N [--stop-on-copy] PATH
      

默认情况下,TortoiseSVN 尝试使用 --limit 方法获取 100 条日志消息。如果设置指示它使用旧的 API,则使用第二种形式获取 100 个版本库修订版的日志消息。

如果选中了 在复制/重命名时停止,请使用 --stop-on-copy 开关。

检查修改

svn status -v PATH
or
svn status -u -v PATH
      

初始状态检查只查看您的工作副本。如果您单击 检查版本库,则也会检查版本库以查看哪些文件将被更新更改,这需要 -u 开关。

如果选中了 显示未版本化文件,TortoiseSVN 还将显示工作副本层次结构中所有未版本化的文件和文件夹,并考虑忽略规则。此特定功能在 Subversion 中没有直接等效项,因为 svn status 命令不会深入到未版本化的文件夹中。

版本图

版本图是 TortoiseSVN 的一项功能。命令行客户端中没有等效的功能。

TortoiseSVN 所做的是一个

svn info URL_of_WC
svn log -v URL
        

其中 URL 是版本库 ,然后分析返回的数据。

版本库浏览器

svn info URL_of_WC
svn list [-r rev] -v URL
      

您可以使用 svn info 来确定版本库根,它是版本库浏览器中显示的顶层。您不能在该级别之上导航 向上。此外,此命令返回版本库浏览器中显示的所有锁定信息。

给定 URL 和版本,svn list 调用将列出目录的内容。

编辑冲突

此命令没有 CLI 等效项。它调用 TortoiseMerge 或外部三方 diff/merge 工具来查看参与冲突的文件并确定使用哪些行。

已解决

svn resolved PATH
      

重命名

svn rename CURR_PATH NEW_PATH
      

删除

svn delete PATH
      

还原

svn status -v PATH
      

第一步是状态检查,它确定工作副本中可以被还原的项目。您可以查看列表,将文件与 BASE 进行比较,并选择要包含在还原中的项目。

当您单击确定时,Subversion 还原将进行。如果您将所有文件选择复选框保留在默认状态,TortoiseSVN 将使用工作副本的单个递归 (-R) 还原。如果您取消选中某些文件,则必须在还原命令行上单独指定每个路径。

svn revert [-R] PATH...
      

清理

svn cleanup PATH
      

获取锁

svn status -v PATH
      

第一步是状态检查,它确定工作副本中可以被锁定的文件。您可以选择要锁定的项目。

svn lock -m "LockMessage" [--force] PATH...
      

这里的 LockMessage 代表锁定消息编辑框的内容。它可以为空。

如果选中了 窃取锁,请使用 --force 开关。

释放锁

svn unlock PATH
      

分支/标签

svn copy -m "LogMessage" URL URL
or
svn copy -m "LogMessage" URL@rev URL@rev
or
svn copy -m "LogMessage" PATH URL
      

分支/标签对话框会执行一个复制到仓库的操作。有 3 个单选按钮选项

  • 仓库中的 HEAD 版本
  • 仓库中的特定版本
  • 工作副本

它们对应于上面 3 个命令行变体。

LogMessage 在此处代表日志消息编辑框的内容。它可以为空。

切换

svn info URL_of_WC
svn switch [-r rev] URL PATH
      

合并

svn merge [--dry-run] --force From_URL@revN To_URL@revM PATH
      

测试合并 使用 --dry-run 开关执行相同的合并操作。

svn diff From_URL@revN To_URL@revM
      

统一 diff 显示将用于执行合并的 diff 操作。

导出

svn export [-r rev] [--ignore-externals] URL Export_PATH
      

当从未版本控制的文件夹访问时,此表单将使用该文件夹作为目标。

将工作副本导出到其他位置时,不会使用 Subversion 库,因此没有相应的命令行等效项。

TortoiseSVN 所做的是将所有文件复制到新位置,同时向您显示操作的进度。可以选择导出未版本控制的文件/文件夹。

在这两种情况下,如果选中了 省略外部,请使用 --ignore-externals 开关。

重新定位

svn switch --relocate From_URL To_URL
      

在此创建仓库

svnadmin create --fs-type fsfs PATH
      

添加

svn add PATH...
      

如果您选择了文件夹,TortoiseSVN 会先递归扫描它,以查找可以添加的项目。

导入

svn import -m LogMessage PATH URL
      

LogMessage 在此处代表日志消息编辑框的内容。它可以为空。

Blame

svn blame -r N:M -v PATH
svn log -r N:M PATH
      

如果您使用 TortoiseBlame 查看 blame 信息,则还需要文件日志才能在工具提示中显示日志消息。如果您将 blame 视为文本文件,则不需要此信息。

添加到忽略列表

svn propget svn:ignore PATH > tempfile
{edit new ignore item into tempfile}
svn propset svn:ignore -F tempfile PATH
      

由于 svn:ignore 属性通常是多行值,因此此处显示为通过文本文件而不是直接在命令行中进行更改。

创建补丁

svn diff PATH > patch-file
      

TortoiseSVN 通过比较工作副本与其 BASE 版本来创建统一 diff 格式的补丁文件。

应用补丁

应用补丁是一件棘手的事情,除非补丁和工作副本处于相同的版本。幸运的是,您可以使用 TortoiseMerge,它在 Subversion 中没有直接等效项。

TortoiseSVN 主页