理想情况下,你任何时候都只做一件事,你的工作副本只包含一个逻辑修改集合。很好,回到现实。你经常会同时做几件不相关的事,当你察看提交对话框时,所有修改混到一起。修改列表特性帮助你分组,让你容易看到正在做什么。当然它只能在修改不重合的时候工作。如果两个不同的任务影响到同一个文件,没有办法隔离修改。
TortoiseSVN 中的修改列表依赖一个不存在于 Windows 2000 的外壳特性,所以它只能用于 Windows XP 或更新的系统。抱歉,但是现在 Windows 2000 真的很古老了,请不要抱怨。
在很多地方可以看到修改列表,但是最常见的是提交对话框和检查修改对话框。让我们从检查修改对话框开始--在你完成了多个特性和很多文件后的检查修改对话框。当你第一次打开对话框,所有的修改过的文件被列在一起。假设你现在想要组织任务并且按照特性将这些文件分组。
选择一个或多个文件并且使用 → 可以增加一个项目到修改列表。最初没有修改列表,所以你第一次做的时候,会创建一个新的修改列表。给出一个能描述它的作用的名称,然后点击。提交对话框会改变为显示项目分组。
当你创建好修改列表后,你就可以将文件拖放进去,既可以从其它修改表中拖过去,也可以从 Windows 资源管理中拖过去。将一个未被修改的文件加入修改列表时,从 Windows 资源管理器拖拽就很有用。你可以在检查修改对话框中这样做,但要显示未修改的文件。
在提交对话框中可以看到被修改列表分组的那文件。除了分组可以直接指示之外,你也可以使用组头选择提交哪些文件。
在 XP 中,当你右键点击组头的时候,会有一个右键菜单让你选定或取消选定全组的条目。但在 Wista 中右键菜单不是必需的。点击组头可以选择全部条目,然后点击被选中的任一个条目就可以选中全组。
TortoiseSVN 保留了一个它自己使用的修改列表名称--ignore-on-commit。这个列表用于标记某些版本控制的文件,它们在本地被修改你却不打算提交他们。这个特性在 “从提交列表中排除项目”一节 中有描述。
当提交属于修改列表的文件后,通常情况下用户不再需要修改列表的成员关系。所以在默认情况下,当提交时文件会从修改列表中除去。如果你希望文件被保留在更改列表中,选中提交对话框底部的 保持修改列表。
Changelists are purely a local client feature. Creating and removing changelists will not affect the repository, nor anyone else's working copy. They are simply a convenient way for you to organise your files.