Git Swiper插件内部字段丢失
我刚刚在我的Git Swiper插件内部字段丢失,git,xpages,domino-designer-eclipse,Git,Xpages,Domino Designer Eclipse,我刚刚在我的Domino Designer FP7上安装了,经过一些测试(可能)我发现了一个bug 不幸的是,如果在分支之间切换,像$DesignerVersion和$$ScriptName这样的内部字段将丢失 下面是我的测试场景: 创建表单(form1.form) 对master分支进行初始提交 创建其他分支,例如develope 对develope分支中的form1.form进行一些更改 提交此更改 切换回master分支 执行此步骤后,内部字段(如上所述)将丢失:(Swiper决定“滑动”
Domino Designer FP7上安装了,经过一些测试(可能)我发现了一个bug
不幸的是,如果在分支之间切换,像$DesignerVersion
和$$ScriptName
这样的内部字段将丢失
下面是我的测试场景:
创建表单(form1.form
)
对master
分支进行初始提交
创建其他分支,例如develope
对develope
分支中的form1.form
进行一些更改
提交此更改
切换回master
分支
执行此步骤后,内部字段(如上所述)将丢失:(Swiper决定“滑动”的属性和元素由xslt文件控制
默认xslt文件确实选择了要滑动的DesignerVersion和$$ScriptName
默认情况下,DesignerVersion会被刷,因为在升级domino designer时,这会导致大量合并冲突,或者如果您的同事决定安装一个您没有突然安装的补丁包,则每个文件都会再次出现需要解决的冲突
尽管有人可能会认为,每个版本的导入/导出行为可能不同,但如果听说IBM在过去几年中对DXL导入/导出进行了任何更改,我将持怀疑态度
关于$$ScriptName,老实说,我不记得为什么我要把它包括进去,但它一定让我很恼火。它并没有给我带来任何问题,但我也没有做很多经典的NSF开发,所以在这样做的时候,可能真的会造成问题
提供您自己的自定义xslt筛选器:
如果您不想“刷”这些文件,那么可以提供定制的xslt文件
制作默认文件的副本
然后注释或删除与设计器版本相关的条目(有多个)
……等等,确保你做到了所有这些
然后注释掉/删除$$ScriptName的注释
<!-- Ignore the DesignerVersion Item and this random FileModDT one -->
<xsl:template match="//n:item[@name='$DesignerVersion']"/>
<!--<xsl:template match="//n:item[@name='$$ScriptName']"/>-->
<xsl:template match="//n:item[@name='$ScriptLib_error']"/>
<xsl:template match="//n:imageresource/n:item[@name='$FileModDT']"/>
<xsl:template match="//n:imageresource/n:item[@name='$EditFilePath']"/>
将其另存为.xsl文件
然后在Designer中转到文件->首选项->刷卡器
在“自定义XSLT筛选器”下,浏览到文件的位置,然后单击应用/ok
当文件从NSF导出到ODP时,这些规则将在下次运行swiper时生效。因此,您可能需要强制保存文件,或者故意“滑动”文件以查看新结果。您应该在Github页面上为swiper创建一个问题,以便Cameron可以轻松地编写Cameron。@Cameron:首先感谢r你的插件。最后一个问题:你认为刷出系统字段(如$DesignerVersion
或$$ScriptName
)可能会有一些负面的副作用吗?没问题,乔治,这里有一篇文章介绍了一些字段的信息。对于$$ScriptName,我刷了它,因为它是“生成的”字段,而不是源代码。它只是指你从ODP导入后,您可能需要重新编译所有LotusScript。一个负面影响是,我认为它确实错误地从旧的“经典”web html notes表单中刷取了一些javascript。对于designer版本,我没有遇到问题,或者有人向我报告它通过刷取造成了问题。如果还有任何问题,请告诉我
<!-- Ignore the DesignerVersion Item and this random FileModDT one -->
<xsl:template match="//n:item[@name='$DesignerVersion']"/>
<!--<xsl:template match="//n:item[@name='$$ScriptName']"/>-->
<xsl:template match="//n:item[@name='$ScriptLib_error']"/>
<xsl:template match="//n:imageresource/n:item[@name='$FileModDT']"/>
<xsl:template match="//n:imageresource/n:item[@name='$EditFilePath']"/>