8bi*_*ree 5 windows cvs line-endings jenkins
我有一个在Windows上运行的Jenkins实例和一个项目,我需要从CVS存储库中检出.事实上,Jenkins的内置CVS插件正在使用Windows CRLF行结尾进行检查.但是,需要完成的一些操作要求文件具有Unix样式LF行结尾.
dos2unix在整个存储库中运行类似的实用程序似乎很安全可靠.
我可以通过运行shell脚本构建步骤来使用Cygwin的cvs,但我更喜欢与Jenkins更好地集成的东西.
因此,如果没有编写脚本来调用外部CVS,或者之后修复它dos2unix,Jenkins可以在Windows上查看带有Unix行结尾的CVS存储库吗?
我已经遇到过这个错误报告,表明这个问题自2012年以来就已为人所知,并且没有做太多的事情.如果有人确实知道我已经提到过的替代方案,我会将问题保持开放.
我经常在 Windows 构建脚本中添加 dos2unix 步骤(automake 链对这些东西非常敏感),它可能看起来有点丑陋/脆弱,但我认为对于 Jenkins 构建来说没关系:如果它因为新的而中断文件你会遇到构建问题。
根据我的经验,构建中总是有几个特定于平台的步骤,因此一些支持 Windows 的自定义代码似乎没问题。
另一种方法可能是在 CVS 服务器上将文件标记为“二进制”(-kb 标志),并确保它们在那里正确编码,这将避免在结帐时进行任何转码,但对我来说似乎更具侵入性。我实际上并没有使用它作为源,我认为它可能会弄乱“diff”命令。
最后一个想法可能是更精确地查看哪些工具期望在您的 win 盒子上出现 LF 样式结尾,您可能可以部署支持 CRLF 的 mingW 或 windows 版本。
总的来说,我的投票仍然投向 dos2unix 解决方案。