我想为所有.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