Я обнаружил аналогичную проблему: Заставить github использовать двоичный атрибут .gitattributes, если он не предназначен для работы в Github, тогда мой вопрос относится только к Gitlab.
Итак, вопрос: представьте себе создание ветки с одним текстом Dockerfile
и последующим .gitattributes
:
[core]
whitespace=trailing-space,space-before-tab
[apply]
whitespace=fix
* binary
Dockerfile text=auto diff merge
Вы нажимаете этот код, вы можете просмотреть фиксацию в интерфейсе, и она отлично работает. Затем вы решаете, что Dockerfile
тоже должно быть двоичным (по какой-то причине), и удаляете последнюю строку. Вы фиксируете его, а затем вносите изменения в Dockerfile
, чтобы проверить, работает ли он. Вы вызываете git show
, и он показывает, что изменения действительно применены:
pzixe@ZPC MINGW64 ~/Documents/Repos/gitlab-test (all-binary)
$ git show HEAD
commit 141451116e292ae30a515920e6efb906f84b4142 (HEAD -> all-binary, origin/all-binary, github/all-binary)
Author: Psilon <[email protected]>
Date: Wed Apr 14 19:25:04 2021 +0300
test changes
diff --git a/Dockerfile b/Dockerfile
index 11f0f66..fef4bc1 100644
Binary files a/Dockerfile and b/Dockerfile differ
Но теперь, если вы проверите интерфейс github, вы увидите, что он на самом деле показывает текстовую разницу вместо двоичной разницы, которая была задана:
Затем вы пытаетесь увидеть, работает ли GitLab по-другому, и выясняете, что это не так:
Итак, вопрос: есть ли способ заставить это работать? Я ожидаю увидеть текстовую разницу исходного коммита 6c0745e
и двоичный свернутый diff последнего коммита 1414511
.
Вот репо с воспроизведенным случаем: https://github.com/Pzixel/test-gitlab
.gitattibutes
файле? - person bk2204   schedule 15.04.2021gitattribute
, как вы можете видеть в связанном репо. - person Alex Zhukovskiy   schedule 15.04.2021