######質問内容
SourceTreeのGit hooksの「pre-push」のフックスクリプトを用いて、".xml"のついたリソースをプッシュした時にサーバ側にもアップするように処理を書いているのですが、
以下のことがあり、今困っています。
######リソース
pre-push:改行コードはUnix(LF)
upload.sh:改行コードはWindows(CR LF)
upload.bat:改行コードはWindows(CR LF)
上記のリソースはD:\Gitwork\hook_test.git\hooks内にある。
OSはWindows10 Pro。
・リソースのコード
pre-push
if [ $? -eq 0 ]; then
MSG=$(git log -1 --name-only --pretty=format:"%h" | grep strings | grep .xml)
cd $(cd $(dirname $0) && pwd)
for i in ${MSG[@]};do
echo "Update"
echo $i
./upload.sh $i
done
fi
######今起きている現象
upload.shとupload.batの改行コードが両方Windows(CR LF)・両方Unix(LF)の場合
→上記の二つのファイルは正常に起動するがpushができない。
エラー内容
./upload.sh: line 37: $'\r': command not found
.git/hooks/pre-push: line 8: english: command not found
error: failed to push some refs to 'Z:\hook_test'
upload.shとupload.batの改行コードが両方Macintosh(CR)の場合
→上記の二つのファイルは正常に起動しないがpushができる。
######解決したいこと
・なぜ、upload.shとupload.batの改行コードがMacintosh(CR)でないと、pushができないのか。その理由・対処法。
・リソースを正常に動作しかつ、pushも正常に動作させるにはどのようにすればよいのか。
是非、ご教授の程よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。