无法执行git tf命令

时间:2012-08-16 18:26:04

标签: git tfs git-tf

我刚刚设置了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 error

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

修改 我也安装了cygwin和我的PATH。也许这会引起git-tf的混乱? (从PATH中删除cygwin没有任何帮助)

3 个答案:

答案 0 :(得分:5)

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

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

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

  2. 修改git-tf并更改第23行。而不仅仅是exec'cmd,相应的行(在mingw32中)应为:

    exec "$WINDIR/system32/cmd.exe" //C "$0.cmd" "$@"
    

答案 1 :(得分:0)

我不知道这是我安装的Cygwin的版本还是什么,但我遇到了同样的问题而上述解决方案无法正常工作。问题是$ 0替换有一个unix样式路径,并且cmd.exe被阻塞了。

为了解决这个问题,我更改了这一行:

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

到此:

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

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

答案 2 :(得分: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