这是我比较内核代码的步骤。
- 获得正确的权限内核代码并存储在 src
- 将 src 放入 mercurial 中。(cd src ; hg init ; hg ci -A -m"")
- 将 windows guy 的修改复制到 src
因为windows中的文件权限将始终视为777。这表明几乎所有文件都已修改。
我已阅读此链接,但我认为这不是解决此问题的好方法。
我希望有一种方法可以让我“恢复”错误的权限文件。
这是我将状态恢复为原始内核源代码的可行代码。
#!/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