CVS 工作空间同步

使用小组 > 同步菜单命令或“小组透视图”中的同步工具栏命令启动的 CVS 工作空间同步将出现在“同步”视图中。此视图允许您检查本地“工作台”资源与其远程对应项之间的差别、更新“工作台”中的资源以及将资源从“工作台”落实至存储库。

以下是“同步”视图中的“CVS 工作空间同步”的外观:

CVS 工作空间同步

功能部件

以下是同步视图的其中一些功能部件的简短总结。

同步状态

同步视图显示工作空间中的资源与存储库中的资源相比较而言的同步状态。通过使用图标来显示此状态,还可以配置此状态以将它作为追加至资源名称的文本显示。下表显示图标的描述:

传入附加图标 传入附加意味着已将资源添加至存储库。更新将把资源传送至工作空间。
传入更改图标 传入更改意味着已在存储库中更改了文件。更新将把新文件修订版传送至工作空间。
传入删除图标 传入删除意味着已从服务器删除了资源。更新将删除本地资源。
传出附加图标 传出附加意味着已将文件添加至工作空间,且还未添加到存储库中。先添加然后落实将把新文件传送至存储库。
传出更改图标 传出更改意味着在本地更改了文件。落实文件将把更改传送至存储库并创建该文件的新修订版。
传出删除图标 传出删除是在本地删除了的资源。落实这些资源将导致删除远程资源。注意:在 CVS 目录中绝不是真正从存储库中删除。而是从工作空间中删除文件并修剪空目录。
冲突附加图标 冲突附加意味着在本地和远程添加了资源。
冲突更改图标 冲突更改意味着在本地和远程更改了文件。用户将需要手工或自动合并。另外,包含冲突子代的视图中的所有条目也将使用冲突图标来修饰。这样做的目的是使得易于发现冲突。
冲突删除图标 冲突删除意味着在本地和远程删除了资源。

方式

“同步”视图可以通过使用一些模式(即使用工具栏操作或视图下拉菜单中的菜单项)来过滤。这些模式可以用来只显示传入、传出或冲突更改。这些模式优点在于:

要点:最好是先更新“工作台”中的资源,通过合并来解决存在的所有冲突,然后将“工作台”资源落实至存储库。

布局

CVS 的“同步”视图布局有三个选项:“平面”、“树”和“压缩文件夹”。

导航

“同步”视图提供了用于浏览视图中的更改的工具栏操作。这些操作不但可在文件之间进行浏览,而且可在文件中的更改之间进行浏览。

更新和落实操作

在“同步”视图中提供了几种更新和落实操作。可以对所有可视的适当更改或选择的子集执行标准更新和落实操作。还可以选择覆盖并更新,这样会忽略任何本地更改,或者选择覆盖并落实,这样会使远程资源与本地资源的内容相匹配。还可以选择清除已在本地修改(可能会通过外部构建工具)但其内容与服务器的内容相匹配的文件的时间戳记。

冲突处理

当处理冲突时,可以首先执行更新和任何冲突更改。更新操作将正确更新可自动合并(即,文件内容更改不重叠)的冲突,但是将跳过包含重叠的更改的文件。或者,可通过使用“比较”编辑器来处理冲突。打开“比较”编辑器有两种方法:双击(如果在首选项中更改了打开策略,则单击)冲突或从上下文菜单中选择在比较编辑器中打开。“比较”编辑器允许您手工解决文件中的冲突。完成之后,就对冲突执行标记为合并以指示已完成。这将把冲突更改为传出更改。

问题标记

“同步”视图将显示有关任何这样的更改的错误警告问题标记:它出现在视图中或包含具有此类问题标记的资源的视图中显示的任何文件夹或项目中。这样做是为了防止将存在问题的资源落实至存储库。

工具栏

同步

此命令允许您重复当前同步,该同步重新访存资源的远程状态。工具栏项的下拉菜单允许您选择其它现有同步或使用同步... 菜单命令创建新的同步。

锁定当前同步

此命令允许您锁定或取消锁定当前同步。已锁定的同步将不能用相同类型的下一个同步替换,而未锁定的同步则将被替换。这允许您保持同步以易于访问。此类同步将在更改“工作台”资源时自动更新并且可以配置为执行定期刷新以便跟上资源的远程状态。

转至下一个差别

此命令将转至视图显示的下一个差别。在视图中打开下一个文件之前,将访问单个文件中的所有差别。

转至上一个差别

此命令将转至视图显示的上一个差别。在视图中打开上一个文件之前,将访问单个文件中的所有差别。

全部折叠

折叠视图中所有已展开的条目。

传入模式

在此模式下,只能看到存储库中自上次装入或与“工作台”中的资源同步之后更改过的资源(传入更改)。

传出模式

在此模式下,只有“工作台”中修改过的资源(传出更改)是可视的。

传入/传出模式

在此模式下,同时显示传入和传出更改且您可以进行更新和落实。使用此双重模式的优点在于可以按选择完成任务。缺点在于执行同时双向合并通常是很复杂的。

冲突模式

在此模式下,只显示冲突(在“工作台”和在存储库中都修改了的资源)。

更新所有传入更改

此命令将更新视图中可视的所有传入更改。该命令还将更新可自动合并的冲突,但是将跳过内容包含冲突的文件。

落实所有传出更改

此命令将更新视图中可视的所有传出更改。不会将冲突包括在落实中。

更改集

可以在传入模式和传出模式启用更改集。

下拉菜单

下拉菜单允许您除去当前同步或所有同步、更改模式或布局、配置当前同步以执行定期刷新以及设置其它视图首选项。

上下文菜单

可从“同步”视图的上下文菜单执行许多有意思的操作。

在比较编辑器中打开

此命令在“比较”编辑器中打开所选择的更改,这允许您检查文件中的更改。

打开

此命令在对应于某种文件类型的缺省“工作台”编辑器中打开所选更改的本地资源。

打开方式

此命令允许您在“工作台”编辑器中打开选择的更改的本地资源。

同步

此命令刷新所选资源的远程状态。

从视图中除去

此命令从视图中除去选择的资源。仅当所除去资源的状态发生变化或重新启动“工作台”时,这些资源才会重新出现。

更新

此命令会更新选择的资源。可以将冲突包括在更新中,但是将只更新可自动合并的冲突。将跳过不可合并的冲突,这些冲突应该使用比较编辑器来手工合并。

落实

此命令落实选择的资源。只能提传出更改。

覆盖并更新

此命令处理冲突和传出更改并将这些资源的本地内容替换为服务器中的内容。

覆盖和落实

此命令处理冲突和传入更改并使用服务器内容的本地对应项覆盖服务器内容。

标记为合并

此命令调整冲突更改的 CVS 时间戳记以使这些更改成为传出更改。在使用比较编辑器手工合并冲突之后应执行此命令。

清除时间戳记

此命令调整内容与服务器上相应资源内容已经匹配的传出更改的时间戳记,以使文件不再是传出更改。在以下情况下这样做很有用:构建工具重新生成内容不变的文件。

相关概念
CVS 小组编程
与 CVS 存储库同步  

相关任务
与存储库同步

更新

解决冲突

从分支合并

落实

比较资源
在比较编辑器中合并更改

相关参考
CVS
比较编辑器