Windows环境下的git-slave

4

git-slave文档在Windows上的安装只有以下不太有用的注释:

* Limited windows support

Multiple users have been successful in using gitslave with Windows.
This is "supported" only in the sense that people have reported it to
work and we accept bugfixes, not that you can `make` install or check,
or that it is QAed on this platform prior to release."

当我尝试下载并运行'nmake install'时,我遇到了同样神秘的错误:
makefile(2) : fatal error U1001: syntax error : illegal character '{' in macro 
Stop.

有没有人在这方面有经验并能指导我走向正确的方向?

2个回答

4
git-slave的Makefile仅与GNU Make一起使用-由于它是一个相当简单的makefile,没有理由它不应该与Microsoft nmake一起工作,除了“毫无意义”的使用Make扩展,这些扩展不受Microsoft nmake支持。(How similar/different are gnu make, microsoft nmake and posix standard make? 概述了它们之间的差异)。
在gitslave/Makefile的第2-4行中,如果您将${prefix}替换为$(prefix),将${mandir}替换为$(mandir) [基本上用圆括号(方括号)替换大括号],nmake就不会再对Makefile产生问题。但是,除非您安装了一堆POSIX实用程序或允许像mkdir -prm -fsed这样的命令正常工作的东西,否则修复nmake的不兼容性只能使make testcheck最多能够工作。
gitslave的开发人员中没有人定期访问Windows开发机器,所以如文档所述:“我们接受错误修复,但不声称您可以安装或检查make,也不保证在此平台上进行QA。”
我想其他在Windows上使用git-slave的人只需确保Perl和gitslave以及gitslave依赖的任何POSIX实用程序(例如grep和rm)都已安装在PATH中。

+1,但是你不是可以在msysgit的标准安装中获得GNU make和Perl吗?这可能比使用NMake更好的解决方案。 - CharlesB
除了在makefile中使用${name}语法外,似乎没有明显的GNU make依赖关系;msysgit提供的实用程序应该提供gitslave所需的所有必要的POSIX实用程序(Perl、sh、rm、grep),并且文档应该澄清msysgit建议(必须?)用于Windows安装。 - Alex Dupuy

1
在Windows上,您可以下载并安装免费的Unix工具包,其中包括所有必要的程序: https://sourceforge.net/projects/unxutils/ 您还需要一个Perl工具包,因为“pod2man”在制作过程中使用。此外,“gits”脚本是一个Perl脚本,在*ix下运行,因为第一行中有“she-bang”指令(“#!/usr/bin/perl”) - 在Windows上无法正常工作。
我创建了一个小型包装批处理脚本,使用我的Perl启动原始脚本: gits.bat: perl gits %*
希望这能帮到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接