スポンサーリンク

Git for Windows 2.4.4 RC3

情報源: Release Third release candidate of Git for Windows 2.x · git-for-windows/git

RC3となりました。Gitの2.4.4のアップデート、MSYS_NO_PATHCONV環境変数によるMSYSのPOSIX Path変換を制御できます。この環境変数に1を設定することで、MSYSのランタイムにPathの変換をさせません。これはどういうことかというと、

#include 

int main(int argc, char **argv)
{
    int i;

    for (i = 0; i < argc; i++)
        fprintf(stderr, "arg %d: '%s'\n", i, argv[i]);

    return 0;
}

というプログラムをmsys2の環境で作って、たとえばGit for Windowsのbashで次のように実行したとします。

$ echo-args /h
arg 0: 'C:\censored\echo-args.exe'
arg 1: 'H:/'

このように第1引数がHドライブのルートを指すように変換されてしまいます。

次はMSYS_NO_PATHCONV環境変数を使用して、同じようにコマンドを実行します。

$ MSYS_NO_PATHCONV=1 echo-args /h
arg 0: 'C:\censored\echo-args.exe'
arg 1: '/h'

今度は第1引数が変換されていません。

bash等のシェルスクリプトからWindowsのコマンドを呼び出した場合にしばしばこのMSYSのランタイムによるPathの変換が問題になることが有り、その為の回避策です。

参考: http://www.mingw.org/wiki/Posix_path_conversion

そのほかはバグ修正なのでリンク先にて確認ください。ダウンロードも同様です。

コメント

タイトルとURLをコピーしました