如何在Windows中检出以Jenkins结尾的Unix行结尾的CVS存储库?

问题描述 投票:6回答:2

我有一个在Windows上运行的Jenkins实例,对于其中一项,我需要从CVS存储库中签出。实际上,Jenkins的内置CVS插件正在使用Windows CRLF行尾对其进行检查。但是,某些需要完成的工作要求文件具有Unix样式LF行尾。

在整个存储库中运行类似dos2unix的实用程序似乎很难安全可靠地完成。

我可以通过运行Shell脚本构建步骤来使用Cygwin的cvs,但是我希望与Jenkins更好地集成。

因此,Jenkins可以写出一个脚本来调用外部CVS或在以后使用dos2unix对其进行修复,可以在Windows上签出带有Unix行尾的CVS存储库吗?

编辑:

[此后我遇到this bug report,表示此问题自2012年以来就为人所知,对此没有做太多事情。如果有人确实知道我已经提到的替代方法,我将开个问题。

windows jenkins cvs line-endings
2个回答
1
投票

我在Windows的构建脚本中经常添加了dos2unix步骤(automake链对此内容非常敏感),这看起来有点难看/脆弱,但是我认为对于Jenkins构建是可以的:如果由于以下原因而中断了:的新文件,您会遇到构建问题。

根据我的经验,构建中总是有几个平台特定的步骤,因此可以使用一些支持Windows的自定义代码。

一种替代方法是在CVS服务器上将文件标记为“二进制”(-kb标志),并确保它们在此处正确编码,这样可以避免在结帐时进行任何转码,但对我来说似乎更具干扰性。我实际上并没有将其用作源,我认为这可能会弄乱“ diff”命令。

最后一个想法可能是更精确地查看赢盘上期望LF样式结尾的工具,可以部署支持CRLF的mingW或Windows版本。

我的投票总体上仍然是dos2unix解决方案。


0
投票

如果不想在存储库中将所有文件设为二进制,则可以通过在命令中添加“ -kb”来进行每个签出或更新为二进制。

© www.soinside.com 2019 - 2024. All rights reserved.