我们有一个开发团队,使用50/50分割的GitHub for windows和Bash shell进行Git管理.
我们已经实现了一个预提交钩子(用于运行单元测试并在测试失败时失败).作为一个简化版本,我附上了一个减少版本,下面演示了我们的问题.
#!/bin/sh
exit 1
Run Code Online (Sandbox Code Playgroud)
如果我们尝试从bash shell提交,则按预期的提交失败.但是,如果我们从GitHub for Windows应用程序执行相同的提交,它将成功提交到本地存储库.
那么有谁知道我们如何从GitHub应用程序获得相同的功能?不幸的是,我们无法将用户从应用程序中移除,现在它已成为一个明显的漏洞.
谢谢你的帮助.
有没有人知道在XSLT中执行合并的内置函数,还是我需要编写自己的函数?
我有一些像这样的xml:
<root>
<Element1>
<Territory>Worldwide</Territory>
<Name>WorldwideName</Name>
<Age>78</Age>
</Element1>
<Element1>
<Territory>GB</Territory>
<Name>GBName</Name>
</Element1>
</root>
Run Code Online (Sandbox Code Playgroud)
第二个元素1(GB Territory)是完全可选的,可能会也可能不会发生,但是当它确实发生时,它优先于WorldWide Territory.
所以我追求的是类似下面的合并:
<xsl:variable name="Worldwide" select="root/Element1[./TerritoryCode ='Worldwide']"/>
<xsl:variable name="GB" select="root/Element1[./TerritoryCode ='GB']"/>
<xsl:variable name="Name" select="ext:coalesce($GB/Name, $Worldwide/Name)"/>
Run Code Online (Sandbox Code Playgroud)
id是上例中的变量Name,它将包含GBName.
我知道我可以使用xsl:choose,但我有一些地方有4个地方可以看,而且xsl:选择只是变得凌乱和复杂,所以希望找到一个内置函数,但到目前为止没有运气.
谢谢.