4

我刚刚设置了 git-tf,但我遇到了一个问题。

这是我收到的错误:

> git tf help
line 23: exec: cmd: not found
fatal: 'tf' appears to be a git command, but we were not
able to execute it. Maybe git-tf is broken?

这是命令提示符的屏幕截图:

git-tf 错误

我按照包含Git-TF_GettingStarted.html文件中显示的安装说明进行操作,但似乎无法使其正常工作。我做错了什么?

编辑 我还安装了 cygwin 并在我的 PATH 上。也许这会给 git-tf 造成混乱?(从 PATH 中删除 cygwin 无济于事)

4

3 回答 3

5

这看起来像是git-tfWindows 上 sh 脚本中的一个错误,我们假设 %WINDIR% 在您的路径中,而我们应该在cmd.exe尝试启动它时提供完整路径。

在我们为此发布修复程序之前,您可以执行以下两项操作之一:

  1. 添加%WINDIR%\system32到您的路径。

  2. 编辑git-tf和更改第 23 行。而不是简单exec的 'ing cmd,适当的行(在 mingw32 中)应该是:

    exec "$WINDIR/system32/cmd.exe" //C "$0.cmd" "$@"
    
于 2012-08-17T18:57:31.247 回答
0

%COMSPEC% 中的 "\" 会与 windows cmdline 或 mingw32 下的 "git tf" 混淆

if [ "$PLATFORM" = "cygwin" ]; then
    COMSPEC_U=`cygpath -u "$COMSPEC"`
    GITTF_CMD=`cygpath -w "$0.cmd"`
    exec "$COMSPEC_U" /C "$GITTF_CMD" "$@"
elif [ "$PLATFORM" = "mingw32" ]; then
#   exec "$COMSPEC" //C git-tf.cmd "$@"
    exec "C:/WINDOWS/system32/cmd.exe" //C git-tf.cmd "$@"
fi
于 2013-03-06T22:00:48.697 回答
0

我不知道是我安装的 Cygwin 版本还是什么,但我遇到了同样的问题,上述解决方案不起作用。问题在于 $0 替换具有 unix 样式路径,并且 cmd.exe 被阻塞。

为了修复它,我更改了这一行:

exec $COMSPEC //C "$0.cmd" "$@"

对此:

exec $(cygpath $COMSPEC) /C $(cygpath --windows "$0.cmd") "$@"

这可能只适用于 Cygwin。我从未使用过 MinGW32,我不确定它的 cygpath 实用程序是否完全一样。

于 2012-12-05T15:11:20.643 回答