Git меняет файлы на Mac OS X
-
28-09-2019 - |
Вопрос
Я просто клонировал старый репозиторий, содержащий несколько модулей ядра Linux (не спрашивайте). Если я клонировать на машине Linux, все в порядке. Однако на моем Mac кто-то (предположительно Mac OS X) делает двоичные изменения в модулях. Я уже отключенный автократ.
Вот вывод git diff -p --stat
напрямую После клона:
.../kernel/net/ipv4/netfilter/ipt_ecn.ko | Bin 3853 -> 4535 bytes
.../kernel/net/ipv4/netfilter/ipt_ttl.ko | Bin 3458 -> 3904 bytes
.../kernel/net/netfilter/xt_connmark.ko | Bin 4534 -> 5618 bytes
.../2.6.26-2-686/kernel/net/netfilter/xt_dscp.ko | Bin 4378 -> 5217 bytes
.../2.6.26-2-686/kernel/net/netfilter/xt_mark.ko | Bin 3679 -> 4334 bytes
.../kernel/net/netfilter/xt_rateest.ko | Bin 4545 -> 7137 bytes
.../2.6.26-2-686/kernel/net/netfilter/xt_tcpmss.ko | Bin 3841 -> 6553 bytes
7 files changed, 0 insertions(+), 0 deletions(-)
diff --git a/i686/modules/2.6.26-2-686/kernel/net/ipv4/netfilter/ipt_ecn.ko b/i686/modules/2.6.26-2-686/kernel/net/ipv4/netfilter/ipt_ecn.ko
index 76d7d8d..b1470d6 100644
Binary files a/i686/modules/2.6.26-2-686/kernel/net/ipv4/netfilter/ipt_ecn.ko and b/i686/modules/2.6.26-2-686/kernel/net/ipv4/netfilter/ipt_ecn.ko differ
diff --git a/i686/modules/2.6.26-2-686/kernel/net/ipv4/netfilter/ipt_ttl.ko b/i686/modules/2.6.26-2-686/kernel/net/ipv4/netfilter/ipt_ttl.ko
index d974dc9..9dcb633 100644
Binary files a/i686/modules/2.6.26-2-686/kernel/net/ipv4/netfilter/ipt_ttl.ko and b/i686/modules/2.6.26-2-686/kernel/net/ipv4/netfilter/ipt_ttl.ko differ
diff --git a/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_connmark.ko b/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_connmark.ko
index d9381a6..14c2a2c 100644
Binary files a/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_connmark.ko and b/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_connmark.ko differ
diff --git a/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_dscp.ko b/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_dscp.ko
index 36af201..178adfa 100644
Binary files a/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_dscp.ko and b/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_dscp.ko differ
diff --git a/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_mark.ko b/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_mark.ko
index 2dd1a0a..1329162 100644
Binary files a/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_mark.ko and b/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_mark.ko differ
diff --git a/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_rateest.ko b/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_rateest.ko
index 8678387..b23e514 100644
Binary files a/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_rateest.ko and b/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_rateest.ko differ
diff --git a/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_tcpmss.ko b/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_tcpmss.ko
index 13e4891..7c3c61c 100644
Binary files a/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_tcpmss.ko and b/i686/modules/2.6.26-2-686/kernel/net/netfilter/xt_tcpmss.ko differ
А. git reset --hard
тоже не делает трюк. Нечто странное происходит, хотя: каждый раз, когда я делаю сброс, размеры справа от git diff
Места переключателя и некоторые капитализации в изменении имени файлов. У меня есть нечувствительная к регистру файловой системы на Mac, может ли это быть причиной этого? Как я мог это исправить (если возможно, без переформатирования Mac)
Решение
Проблема связана с нечувствительным к регистру по умолчанию для файловых систем HFS +.
Возьмите первый проблемный файл:
i686/modules/2.6.26-2-686/kernel/net/ipv4/netfilter/ipt_ecn.ko
Вы найдете это (как изначально записано), есть также файл с именем ipt_ECN.ko
В том же каталоге:
git ls-tree HEAD -- i686/modules/2.6.26-2-686/kernel/net/ipv4/netfilter/ |
grep '^ipt_.*\.ko'
Теоретически, вы можете переформатировать вашу громкость загрузки для использования чувствительной к регистру HFS +, но это имеет тенденцию вызывать проблемы со случайными приложениями (например, те, которые хранят / установить файл с именем foo
, но позже эксклюзивно пытаются прочитать файл с именем Foo
).
Короткое из Bakup / Reformat / Restore, вы можете работать на образе диска, который отформатирован с чувствительным к регистру HFS +. Используйте утилиту диска для создания нового образа диска (возможно, «Rebse Bundle» изображение) и поместите свое рабочее дерево в этот том (он будет установлен под /Volumes/
). Возможно, вам может потребоваться создать изображение диска по умолчанию, а затем переформатировать его, указав «Mac OS расширенные (чувствительные к регистру, журнал)» на вкладке «Стереть» на вкладке «Стереть» для объема RSULTING).