我可以有 RFT 脚本的 svn 吗?
我们在工作中使用 svn,现在我们引入 RFT(Rational Function Tester)。
我是否有机会使用现有的 svn 来版本化我的 RFT 脚本? 我知道一个 RFT 脚本包含的内容并不等于只包含一个文件。
- RFT v 8.1.1.2 在 Windows XP 上运行
- svn 在 Linux 上运行
- 版本
.class
和.java
文件是否足够好?
We user svn at work and now we are introducing RFT (Rational Functional Tester).
Is there any chance I can use existing svn to version my RFT scripts? I understood that one RFT script contains is not equal only one file.
- RFT v 8.1.1.2 runs on windows xp
- svn runs on linux
- is it good enough to version
.class
and.java
files?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可以使用 Subversion 对任何文件进行版本控制。但是,文本文件和二进制文件的处理方式有所不同。对于文本文件,可以逐行查看差异,对于二进制文件,您可以简单地查看旧版本。
You can use Subversion to version any file. However, text and binary files are treated differently. For text files it is possible to view differences line by line, with binary files you can simply check out an older version.
是的,您可以使用 SVN。
但不要版本.class 文件,因为它们是编译后的 java 文件,并且可以在构建之间更改。最好每次更新时都从 Eclipse 重建项目。
请注意,某些 RFT 文件无法合并(例如数据池 .rftdp),因为它们是用唯一一行编写的 XML 文件,因此如果您需要编辑它们或与团队同步,则必须锁定这些文件,否则您可以解决冲突,接受最后提交的修订。
Yes, you can use SVN.
But DO NOT version .class files, as they're compiled java files and can change between builds. It's better to rebuild the project from Eclipse every time you do an update.
Beware that some RFT files cannot be merged (like datapools .rftdp) because they are XML files written in one unique line, so you have to lock those files if you need to edit them or sync with your team or you can resolve conflicts accepting the last committed revision.
我们已经成功地将 RFT 与 SVN 结合使用。但是,我们必须使用文件锁定,因为有许多文件 (XML) 用于构成 RFT 脚本。我们向 RFT 添加了 subclipse 插件。然后,我们创建一个空的 RFT 项目,其名称与导入到 SVN 的项目同名。然后,我们在(覆盖)空 RFT 项目之上从 SVN 检查 RFT 项目。当我们创建一个新脚本时,我们将 svn:needs-lock 属性添加到 java 文件中。当我们进行更新和提交时,我们选择项目,这会导致与要包含在提交中的脚本关联的其他资源文件。
We have been succcessful using RFT with SVN. However, we had to use file locking because there are a number of files (XML) that are used to make up an RFT script. We added the subclipse plugin to RFT. We then create an empty RFT project with the same name as the project that we imported to SVN. We then check out the RFT Project from SVN on top of (Overwrite) the empty RFT project. When we create a new script, we add the svn:needs-lock property to the java file. When we do updates and commits, we select the project this results in the other resource files associated with the script to be included in the commit.
在 Windows XP 开发者盒子上安装 VMware Ubuntu 并在其上运行 Linux。
我们在之前的组织中正是这样做的。所有开发人员都在我们的 Windows 计算机上安装了 VMware Ubuntu。您可以从那里使用 Eclipse 或 MyEclipse 或 RFT,从 IDE 或命令提示符对 RFT 代码进行版本控制。
Install VMware Ubuntu on the Windows XP developer boxes and run linux on it.
We did exactly that in our previous organization. All the developers had VMware Ubuntu installed on our Windows machines. You can can Eclipse or MyEclipse or RFT from there, version the RFT code from the IDE or from command prompt.
我会稍微重复一下其他答案,但我希望能进一步澄清。
第一个问题:对象映射文件。这些是简单的 XML 文件。它们可以很容易地被跟踪到版本控制,不幸的是 IBM 在这里做得一团糟。他们没有使用好的 XML 解析库。它必须仅包含在一行中。如果你整理了代码,它就不会再被解析了。由于版本控制软件会跟踪线路差异,因此每个简单的更改都会造成混乱的冲突。
即使它在重新格式化为多行后起作用,每个小的修改(例如,添加一个新的测试对象)都会对所有 xml 内容重新排序。当然,我都试过了。
实际上,对象映射文件是二进制文件,您必须向每个文件添加 svn:lock 属性。他们只是将 XML 作为流行语来使用,故意阻止所有格式优势。
第二个问题:RFT 从对象映射中生成大量辅助文件。这些是“资源”目录中的文件。根据版本控制的良好实践,您还必须手动提交这些文件。一定要提交所有改变的事情。
RFT 具有 ClearCase 集成,它会自动签出和签入所有需要的文件。但不要进入这种来自地狱的整合。使用 Subversion 会更好。
结论:如果你使用RFT,就注定了你是顺序发展的。您不能让 2 个开发人员在同一个代码库中工作。欢迎来到 70 年代!
I'll somewhat repeat the other answers, but I hope to clarify it more.
First problem: Object Map files. These are simple XMLs files. They could easily be tracked to version control, unfortunately IBM did a mess here. They don't use a good parse library for the XML. It must be contained in just one line. If you tidify the code, it won't be parsed any more. Since the version control software tracks line differences, every simple change will create a mess of a conflict.
Even if it worked after reformatting to multiple lines, each little modification (e.g., add a new test object) would reorder all the xml contents. Sure, I tried it all.
In practice, the object map files are binary files and you must add the svn:lock property to each of them. They used XML just as a buzzword, intentionally preventing all the format advantages.
Second problem: RFT generates a lot of helper files from your object maps. These are the files in the "resources" directory. Against version control good practices, you must also manually commit these files. Be shure to commit everything that changes.
RFT has ClearCase integration, and it automatically checkout and checkin all the needed files. But don't get into this integration from Hell. You'd be better with Subversion.
Conclusion: If you use RFT, you are doomed to have sequential development. You can't have 2 developers working in the same codebase. Welcome to the 70's!