And*_*ter 20 vb6 version-control frm
无论我使用什么源代码控制系统(源代码安全,cvs,clearcase ......),这总是很痛苦.二进制.frx文件在合并可视化基本表单时总会导致问题.
我知道......我知道......你为什么使用Visual Basic ...因为有许多遗留的应用程序仍在使用它写,虽然我不想承认它我真的喜欢用它(鸭子西红柿)
Jef*_*ffK 15
你需要咬紧牙关并将它们包含在版本控制系统中.不幸的是,它们确实包含源中其他任何地方都无法获得的信息.(例如,位图添加到ImageList控件.)如果丢失了这些文件,则无法正确重建应用程序.
Frx合并是一个主要的痛苦.如果您的版本控制系统允许锁定,我建议您使用它来确保您在frx文件上使用它以避免合并.例如,Subversion支持锁定以避免编辑位图和其他二进制文件的问题.
据说我的公司和我在VB6 CAD/CAM项目上使用Subversion已经超过5年了,并且只是遇到了frx合并一些时间的问题.在所有情况下,解决问题都很简单.主要由一个人备份他的表格并通过剪切和粘贴手工解决问题.如果某人在其中一个具有大量位图的表单上做了大量工作,那么我们确保锁定它并尽可能快地完成项目的这一部分.
PS不要为VB的FRX奇怪道歉,其他软件包在任何时候编辑相同的位图,wav或软件依赖的任何其他类型的二进制文件时都会遇到同样的问题.
我在 ClearCase 上工作并偶然发现了完全相同的问题,谷歌查询让我最终来到这里。由于这里的答案并没有真正提供有关如何在 ClearCase 上处理这些文件的技术细节,请允许我添加我今天所做的来解决我的问题。
问题:
.frx 文件是在 ClearCase 中使用“compressed_files”类型创建的,它不支持合并,并且可能会产生冲突,让不知情的用户感到困惑(并让您在 CM 团队中获得支持电话)。
解决方案:
我们将遵循的整个脚本在此IBM 技术说明中进行了描述
可以在另一个IBM 技术说明中找到对这两种新类型的引用
我个人为 .frx 文件选择 COPY 类型
您需要使用 ClearCase Type Explorer 创建新类型。
我建议您首先在某处的测试 VOB 上创建新类型。一旦您对测试感到满意,请在您的 Admin VOB 中创建新类型。如果您正在研究 UCM,那将是您的 PVOB 级别。无论哪种情况,请确保将新类型声明为 Global。如果您不在 UCM 上工作,并且没有管理员 VOB,则必须在要使用它的所有单个 VOB 中创建新类型。
只需按照上述技术说明中的说明进行操作即可。
注意,重要提示:如果在管理 VOB 中创建新类型之前已在测试 VOB 中创建它们,则必须从“较低”VOB 中删除新类型(假设您的测试 VOB 在管理 VOB 下)。删除元素类型会删除该类型的所有实例,因此不要创建这种新类型来测试真实文件,因为从较低级别的 VOB 中删除类型将删除与其关联的所有文件!
小心不要丢失任何重要数据!
为此,您需要更改“魔术文件”。将更改集中到魔法文件是一个好主意(而不是必须在每个单独的客户端上更改它)。您想在服务器(例如您的 VOB 服务器)上更改一次,并让人们使用名为“MAGIC_PATH”的环境变量来指向它。
请参阅此IBM 技术说明
复制并重命名 MAGIC_PATH 位置中的 default.magic 文件后,您需要更改 .frx 文件的定义。
在默认的魔法文件中实际上有两个条目:
(...)
# Match non-printable files by name
(...)
vb_form_compiled vb_derived compressed_file : !-printable & -name "*.[fF][rR][xX]" ;
(...)
# assumed to be binary
(...)
vb_form_compiled vb_derived compressed_file : -name "*.[fF][rR][xX]" ;
Run Code Online (Sandbox Code Playgroud)
我对它们都进行了评论,并在魔法文件的最后一个条目之前添加了以下行:
# New COPY type:
frx_visual_basic vb_derived COPY : -name "*.[fF][rR][xX]" ;
# catch-all, if nothing else matches
compressed_file : -name "*" ;
#EOF
Run Code Online (Sandbox Code Playgroud)
每个定义 MAGIC_PATH 环境变量的客户端现在都应该正确选择它,因此任何使用 .frx 后缀创建的新文件都将具有“COPY”元素类型。
cleartool find . -all -name "*.frx" -exec "cleartool chtype COPY %CLEARCASE_XPN%"
Run Code Online (Sandbox Code Playgroud)
这会将所有 *.frx 文件的元素类型更改为新的 COPY 类型
您需要为所有 VOB 执行此操作。
注意:此答案顶部的第一个技术说明指出“Rational ClearCase 远程客户端不支持这种类型的合并(即复制)。” 从 ClearCase 7.0.1 和我今天所做的测试来看,现在支持了。
| 归档时间: |
|
| 查看次数: |
18412 次 |
| 最近记录: |