CVS 工作空间同步

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

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

CVS 工作空间同步

功能部件

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

同步状态

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

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

方式

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

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

模型

“同步”视图能够显示资源的不同模型表示。每个产品都可以包含自己的特定于产品的表示。Eclipse SDK 提供了三个模型:

除了模型以外,还有一个平面表示,即将所有未同步的元素显示为顶层元素。

导航

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

更新和落实操作

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

冲突处理

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

问题标记

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

工具栏

同步

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

锁定当前同步

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

“模型”下拉列表

此下拉列表显示可以在同步视图中显示的模型。

下一个差别

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

上一个差别

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

全部折叠

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

传入模式

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

传出模式

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

传入/传出模式

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

冲突模式

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

更新所有传入更改

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

落实所有传出更改

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

下拉菜单

下拉菜单允许您锁定或除去当前同步、除去所有同步、更改方式或布局、从视图项中恢复已除去的项、配置当前同步以执行定期刷新以及设置其他视图首选项。

上下文菜单

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

打开

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

打开方式

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

显示位置

此子菜单用来显示当前在另一视图中选择的资源。

在比较编辑器中打开

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

编辑

此菜单允许您重命名、删除、移动或复制资源。

同步

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

全部展开

此命令展开所选资源的所有子代。

从视图中除去

此命令从视图中除去选择的资源。仅当所除去资源的状态发生变化、重新启动工作台或者从下拉菜单中调用恢复已除去的项操作时,这些资源才会重新出现。

更新

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

落实

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

覆盖并更新

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

标记为合并

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

添加至 .cvsignore

此命令将把所选资源添加到 .cvsignore 列表中,这将导致 CVS 在所有 CVS 操作中跳过该资源。

创建补丁

此命令将显示“创建补丁”向导并在该向导中显示所选资源。

分支...

此命令将创建新分支和新分支标记,后者可用来将分支合并回到源分支中。

显示注释

根据注释首选项的不同,此命令将打开所选资源的“快速差别”注释或“注释”视图。

更改 ASCII/二进制属性...

此命令将打开包含所有所选资源的对话框。然后,您可以更改每个资源的 ASCII/二进制属性。

将更改重新指定给

此命令会将更改移至从子菜单中选择的更改集。

编辑更改集...

此命令将打开一个对话框,此对话框允许您创建或编辑所选择的更改集的名称和注释。

使更改成为未指定的更改

此命令将从所选择的更改集中除去更改。如果除去了所有更改,便已删除此更改集。

将更改集标记为缺省值

此命令会将所选择的更改集标记为/取消标记为缺省值。

不使用缺省更改集

此命令将从当前标记为缺省值的更改集中除去缺省标志。

相关概念
CVS 团队编程
与 CVS 存储库同步  

相关任务
与存储库同步
更新
解决冲突
从分支合并
落实
比较资源
在比较编辑器中合并更改

相关参考
CVS
比较编辑器