TortoiseSVN中有什么方法可以增量构建我的提交?

时间:2018-11-09 13:51:29

标签: svn tortoisesvn

一次又一次,我面对着TortoiseSVN的情况,我必须提交在一个巨大的存储库中广泛分布的文件。因为这通常是在我执行多项任务期间发生的(这意味着我的工作副本中还有很多其他更改的文件我还不想提交),并且工作副本中还包含许多未版本控制,未更改的文件,由于各种原因而忽略了文件,选择我要提交的文件是一项非常繁琐的任务 1

我能否以某种方式构建文件列表以逐步构建提交列表,例如通过在不同的子目录中多次打开提交对话框(最好在某些文件上使用提交后恢复功能),在这里我可以轻松找到并选择单个要提交的文件?

我考虑过的解决方案:

  • SVN CLI:当然,通过SVN命令行界面,这将是微不足道的。我可以只添加文件以提交到批处理文件。当然,此解决方案有其自身的警告,包括较少的Explorer集成(这意味着可能不会立即更新可视文件图标标记),以及将文件路径和名称写入/复制粘贴到文本编辑器中的事实是错误的-本身容易发生。
  • 更改列表:乍一看,这很有希望,直到我意识到我似乎能够将其他文件添加到仅在其祖先目录中的一个目录中开始的更改列表中。更改列表菜单未显示相应的更改列表,例如在同级目录中添加第一个文件的目录中。 (但是也许有一种解决方案可以针对整个工作副本在全局范围内声明变更列表?)
  • 分支:乍一看,这似乎是分支的用例。但是,我不想提交的更改通常不属于无关的任务。因此,许多我不想提交的更改文件可能会驻留在同一分支中。
  • 排序文件:确实没有帮助。由于我们文件的命名方式,即使我可能进行了非常定期的更改(例如,对具有20个模块的特定功能的每个文件进行类似的更改),受​​影响的文件名也都以不同的开头(它们只是 end 一样,但是我看不到任何基于该标准对列表进行排序的方法。
  • 货架: Shelving是另一个很有前途的功能。尽管如此,把我现在不需要的所有东西都放在架子上听起来又很乏味。看来我正在寻找货架的相反,或者我可以直接从中货架的货架(从v1.11开始,当前的货架功能似乎无法实现)。

1 :我主要是指我必须浏览一个较长的列表并找到我想要提交的特定文件。一次点击错误,可能会再次删除我先前的全部选择,这会造成伤害。

2 个答案:

答案 0 :(得分:0)

只要您不从工作副本的根目录中打开提交对话框,就应该能够非常轻松地筛选出要提交的文件/文件夹。例如,如果您的结帐文件夹为:

C:/MyProject
|_FolderA
|_FolderB
|_FolderC
|_FolderD

如果您在FolderA中工作,但想将文件提交到FolderBFolderC,则可以按字面意思只需 Ctrl +左键两者{ {1}}和FolderB右键单击在所选项目之一上,然后选择 SVN Commit ...

您应该只看到与要提交的文件夹相关的文件。另外,在每个提交日志的底部,都有一个复选框,显示“显示未版本控制的文件”,您可以删除所有未明确 SVN添加到工作副本中的文件。

SVN添加的过程可以与Shift或Ctrl +鼠标左键单击所需的所有项目的过程相同(或仅右键单击文件夹并选择 TortoiseSVN>添加) ... ,然后在列表中选择要“准备”提交的所有项目。

答案 1 :(得分:0)

在TortoiseSVN中,您可以使用changelists。 在提交对话框中,选择属于一个特定更改的文件,右键单击并选择“ Move to changelist->new changelist”,然后输入该更改列表的名称。 现在,提交对话框将这些文件分组。

以后您要提交这样的更改列表时,只需单击组标题即可检查其中的所有文件。 提交对话框左下方的“保留更改列表”复选框指示是否应在提交后删除更改列表。