web-dev-qa-db-fra.com

Pourquoi git applique-t-il un patch avec des fichiers binaires qui ne crée pas les fichiers binaires?

J'ai un patch git avec deux fichiers binaires (ce sont des bibliothèques, nouvellement ajoutées). J'ai essayé d'appliquer les correctifs mais les fichiers binaires ne sont pas créés. J'ai essayé git apply avec le --binary option. Existe-t-il une autre option pour ajouter les fichiers binaires du patch git? Je n'ai besoin que des fichiers binaires.

22
Anjo John

L'option --binary Est utilisée lorsque vous créez le fichier de patch, pas lorsque vous l'appliquez.

Cela signifie qu'au lieu de votre git diff branch1 branch2 > patch-file Actuel, vous devez le faire à la place: git diff branch1 branch2 --binary > patch-file. Et puis, appliquez le patch avec git apply patch-file De la même manière que vous le faites.

19
espinchi

J'ai essayé l'option git apply avec --binary.

Cela ne ferait rien: le git apply page de manuel mentionne:

Actuellement, nous autorisons toujours l'application de correctifs binaires, c'est donc un no-op.

Vérifiez donc votre git status et les autorisations sur votre référentiel, ainsi que votre version git.
Comme test, essayez d'appliquer ce patch sur un nouveau dépôt.

4
VonC