理想情况下,你任何时候都只做一件事,你的工作副本只包含一个逻辑修改集合。很好,回到现实。你经常会同时做几件不相关的事,当你察看提交对话框时,所有修改混到一起。修改列表特性帮助你分组,让你容易看到正在做什么。当然它只能在修改不重合的时候工作。如果两个不同的任务影响到同一个文件,没有办法隔离修改。
在很多地方可以看到修改列表,但是最常见的是提交对话框和检查修改对话框。让我们从检查修改对话框开始--在你完成了多个特性和很多文件后的检查修改对话框。当你第一次打开对话框,所有的修改过的文件被列在一起。假设你现在想要组织任务并且按照特性将这些文件分组。
选择一个或多个文件并且使用
→ 可以增加一个项目到修改列表。最初没有修改列表,所以你第一次做的时候,会创建一个新的修改列表。给出一个能描述它的作用的名称,然后点击 。提交对话框会改变为显示项目分组。当你创建好修改列表后,你就可以将文件拖放进去,既可以从其它修改表中拖过去,也可以从 Windows 资源管理中拖过去。将一个未被修改的文件加入修改列表时,从 Windows 资源管理器拖拽就很有用。你可以在检查修改对话框中这样做,但要显示未修改的文件。
在提交对话框中可以看到被修改列表分组的那文件。除了分组可以直接指示之外,你也可以使用组头选择提交哪些文件。
TortoiseSVN 保留了一个它自己使用的修改列表名称--ignore-on-commit
。这个列表用于标记某些版本控制的文件,它们在本地被修改你却不打算提交他们。这个特性在 “从提交列表中排除项目”一节 中有描述。
当提交属于修改列表的文件后,通常情况下用户不再需要修改列表的成员关系。所以在默认情况下,当提交时文件会从修改列表中除去。如果你希望文件被保留在更改列表中,选中提交对话框底部的 保持修改列表。
修改列表是一个作用范围仅限于本地客户端的特性。创建和删除修改列表不会影响版本库或其他人的工作副本。这只是一个让你能够整理文件的便利工具。
请注意,如果你使用更改列表,外部文件将不再显示在它们自己的组中。一旦有更改列表,文件和文件夹将按照更改列表分组,而不是外部文件。