这是我比较内核代码的步骤。
- 获得了正确的权限内核代码并存储在SRC
- 将SRC放入Mercurial中。(CD SRC; Hg Init; Hg CI -A -M")
- 将Windows Guy的修改复制到SRC
因为Windows中的文件权限将始终将其视为777。显示几乎所有文件都已修改。
我已经阅读了此链接,但我认为这不是解决此问题的好方法。
我希望有一种方法可以让我" HG还原"错误的权限文件。
这是我可行的代码,将状态恢复为原始内核来源。
#!/bin/bash
find $(hg root) ( -type d -name .hg -prune )
-o ( -type f -print ) | xargs chmod a-x
hg st -n -m | while read fname ; do
v=`hg di --git $fname |head -2 | awk '/^old/{print $3;}'`
case $v in
100644) chmod 644 $fname;;
100755) chmod 755 $fname;;
esac
done