服务器上的Lotus Notes / Domino中的版本控制

时间:2013-11-14 08:32:46

标签: svn version-control lotus-notes lotus-domino lotus

我们希望在我们的应用程序开发过程中使用版本控制系统。但是我们遇到了严重的问题,使我们无法使用版本控制系统。

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

每个设计元素都有两个名为' modified':

的属性
  • 修改(最初);
  • 已修改(在此文件中)。

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

  1. 来自已修改(最初):<modified><datetime>20131114T120023,10+04</datetime></modified>
  2. 来自已修改(在此文件中):<modified><datetime>20131114T120025,04+04</datetime></modified>
  3. 因此,我们从 SINGLE nsf应用程序中获得不同磁盘项目。版本控制转向与冲突的持续斗争。

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

    感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

你不应该让几个人保持基于相同nsf的磁盘项目。这将不可避免地导致冲突和许多痛苦。

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

有关详细说明和示例(使用Git代替SVN,但原理相同)请参阅How to incorporate version control (Git) in a large Lotus Notes project

在Domino Designer上使用源代码控制时,请查看this presentation by Per Henrik Lausten。请务必阅读演示文稿下方的讨论,因为它包含一些有用的说明。

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

答案 1 :(得分:-2)

对于发布此消息的时间流逝表示抱歉,今天就看到了这个问题。 Team Studio(www.teamstudio.com)有一个专为Domino版本控制而构建的模块:CIAO。这不是一个开源解决方案,但它是专门为Notes / Domino平台构建的,但如果管理层花费$ s投资Domino平台,他们也应该投资于允许开发团队在其上进行并行开发的工具。同一个项目。您还应该看看他们的一些其他工具:Design Manager,Configurator和Delta,它们是Domino开发人员的宝贵工具。 Code Snippets还允许您轻松重用代码。

相关问题