我想爲所有.cpp文件設置代碼樣式格式,然後它們被提交給git。使用過濾器污跡/乾淨的git屬性通過shell腳本處理.cpp文件沒有找到文件名
我做了小腳本(名爲codeformat)要做到這一點,(還試圖replaing以$ 1%F)
#! /bin/bash
clang-format -style=file %f | diff %f -**
if [ $? -ne 0 ]; then
echo "ERROR: codeformat not correct"
exit 1
fi
沒有設置混帳配置,帶*號的.cpp過濾= codeformat更新.gitattributes,
git config --global filter.codeformat.clean codeformat
git config --global filter.codeformat.smudge codeformat
看起來像腳本正在運行,但它沒有獲取文件名。爲什麼是這樣?
看到添加工作的例子。我不知道你做了什麼不同,但我的腳本調用文件名稱,如/ tmp中的日誌文件所示。 – torek
這有幫助,早些時候我錯過了運行git config,我運行git config --global,但是我必須單獨運行「git config」,而不需要全局性地在.git/config中更新它,否則它只會更新〜/。 gitconfig。現在,它打印文件名,我現在需要使用我的代碼格式命令。 – Ramana
我們可以寫屏幕錯誤信息嗎?讓我們說從/ tmp/dotest_log的內容,wehn我觸發git add?我有一些回聲命令,而不是重定向到日誌,它不寫日誌,它只給出消息錯誤過濾器...目標是給一些消息,所以用戶可以遵循,此外,腳本退出內部腳本不退出Git操作,我的Git即使腳本失敗,添加仍然成功 - 我們可以強制它失敗git add直到它們修復嗎? – Ramana