1

我们想在我们的应用程序开发过程中使用版本控制系统。但是我们有一个严重的问题,使我们无法使用版本控制系统。

我们在服务器上有应用程序,我们希望通过控制版本控制系统中的所有更改来修改它们,例如 SVN。一位开发人员制作了磁盘上的项目,然后将其共享到存储库中。然后其他开发人员检查这个项目。在此之前,一切都很顺利。

每个设计元素都有两个称为“修改”的属性:

  • 修改(最初);
  • 修改(在此文件中)。

由于未知原因,这些属性可能在一个副本中有所不同。当一个开发人员进行更改时,“修改(最初)”日期时间设置在他的磁盘项目中,但在其他开发人员的磁盘项目中设置“修改(在此文件中)”日期时间。例如:

  1. 从修改(最初):<modified><datetime>20131114T120023,10+04</datetime></modified>
  2. 从修改(在此文件中):<modified><datetime>20131114T120025,04+04</datetime></modified>

因此,我们从SINGLE nsf 应用程序中获得了不同的磁盘项目。版本控制转向不断与冲突作斗争。

有可能解决这个问题吗?还是只有一种可能性可以为每个开发人员使用本地副本\副本?

感谢您的任何帮助!

4

2 回答 2

3

您不应该有几个人基于相同的 nsf 来维护磁盘上的项目。这将不可避免地导致冲突和很多很多的痛苦。

您要做的是让每个开发人员制作自己的 Notes 数据库本地副本。然后可以将本地副本与磁盘上的项目相关联,这些项目受源代码控制。开发者通过源代码控制系统相互同步代码,将设计替换为本地副本,将代码推送到服务器。

有关详细说明和示例(使用 Git 而不是 SVN,但原理相同),请参阅如何在大型 Lotus Notes 项目中合并版本控制 (Git)

还可以查看Per Henrik Lausten关于使用 Domino Designer 进行源代码控制的演示文稿。请务必阅读演示文稿下方的讨论,因为它包含一些有用的说明。

请注意,由于源文件中的 DXL 元数据(例如modifiedlastaccessed标签),您仍然可能会遇到同步冲突。这不是您应该担心的事情。然而这很烦人,因为它严重地混淆了更改历史/差异。如果你使用 Git 而不是 SVN,你可以使用一个叫做DORA的工具来过滤掉这些,给你更清晰的差异,显示没有无用的元数据更改。不幸的是,我不知道有类似的 SVN 工具。

于 2013-11-14T09:28:45.033 回答
-2

抱歉发帖时间过长,今天才看到这个问题。Team Studio (www.teamstudio.com) 有一个专门为 Domino 版本控制构建的模块:CIAO。这不是一个开源解决方案,但它是专门为 Notes/Domino 平台构建的,但如果管理层已经花费了 $s 投资于 Domino 平台,他们还应该投资于允许开发团队在同一个项目。您还应该看看他们的一些其他工具:Design Manager、Configurator 和 Delta,它们是 Domino 开发人员的宝贵工具。代码片段还允许您轻松地重用代码。

于 2014-04-16T17:38:13.673 回答