Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 服务器上Lotus Notes/Domino中的版本控制_Svn_Version Control_Lotus Notes_Lotus Domino_Lotus - Fatal编程技术网

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

Svn 服务器上Lotus Notes/Domino中的版本控制,svn,version-control,lotus-notes,lotus-domino,lotus,Svn,Version Control,Lotus Notes,Lotus Domino,Lotus,我们希望在应用程序开发过程中使用版本控制系统。但我们有一个严重的问题,那就是我们不可能使用版本控制系统 我们在服务器上有应用程序,我们希望通过控制版本控制系统中的所有更改来修改它们,例如SVN。 其中一名开发人员制作了一个磁盘上的项目,然后在存储库中共享它。然后其他开发人员检查这个项目。在这之前一切都很顺利 每个设计元素都有两个名为“修改”的属性: 修改(最初) 已修改(在此文件中) 由于未知原因,一个副本中的这些属性可能不同。 当一个开发人员进行更改时,在其磁盘上项目中设置“修改(最初)”

我们希望在应用程序开发过程中使用版本控制系统。但我们有一个严重的问题,那就是我们不可能使用版本控制系统

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

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

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

  • 从修改(最初):
    20131114T120023,10+04
  • 从修改(在此文件中):
    20131114T120025,04+04
  • 因此,我们有不同于单一nsf应用程序的磁盘上项目。版本控制变成了与冲突的持续斗争

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


    谢谢你的帮助

    您不应该让几个人基于同一nsf继续执行磁盘项目。这将不可避免地导致冲突和很多很多痛苦

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

    有关详细的解释和示例(使用Git代替SVN,但原理相同),请参见

    另外,请看一下如何将源代码管理与Domino Designer结合使用。请务必阅读演示下面的讨论,因为它包含一些有用的澄清


    请注意,由于源文件中的DXL元数据,例如
    modified
    lastaccessed
    标记,您仍然可能会遇到同步冲突。这不是你应该担心的事情。然而,这很烦人,因为它严重扰乱了更改历史/差异。如果您使用的是Git而不是SVN,那么您可以使用一个名为的工具来过滤这些内容,从而提供更清晰的差异,不会显示无用的元数据更改。不幸的是,我不知道有哪种类似的SVN工具。

    您不应该让几个人基于同一个nsf保留磁盘项目。这将不可避免地导致冲突和很多很多痛苦

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

    有关详细的解释和示例(使用Git代替SVN,但原理相同),请参见

    另外,请看一下如何将源代码管理与Domino Designer结合使用。请务必阅读演示下面的讨论,因为它包含一些有用的澄清


    请注意,由于源文件中的DXL元数据,例如
    modified
    lastaccessed
    标记,您仍然可能会遇到同步冲突。这不是你应该担心的事情。然而,这很烦人,因为它严重扰乱了更改历史/差异。如果您使用的是Git而不是SVN,那么您可以使用一个名为的工具来过滤这些内容,从而提供更清晰的差异,不会显示无用的元数据更改。不幸的是,我不知道SVN也有类似的工具。

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

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

    这似乎表明您正在尝试对机器生成的人工制品使用版本控制。这通常是一个坏主意(但是当lotusnotes第一次进入图片时,您显然已经有了坏主意……),您可以通过过滤签入来解决这个问题,以便这些属性总是由专用脚本规范化。看看,LotusNotes中版本控制的一个大问题是某些源文件的元数据保存在源文件本身中。这很可怕,但是当你被Lotus Notes困住时,你必须学会适应它。筛选文件以使元数据为igno