Максимальный размер сообщения - PullRequest
38 голосов
/ 16 марта 2012

Есть ли ограничение на размер сообщения Git commit? Я искал в Интернете, но не могу найти упоминания об этом, кроме этого .

Однако тот не отвечает на мой вопрос.

Ответы [ 3 ]

40 голосов
/ 16 марта 2012

Эмпирически, я думаю, что ответ - нет. Это сработало (это сообщение о фиксации ~ 100 МБ):

yes | head -c 100000000 | git commit -F - > /dev/null

Объяснение частей команды:

  • yes повторяет "у \n" навсегда
  • head -c 100000000 занимает только первые 100 000 000 байтов (~ 100 МБ)
  • git commit -F - фиксирует с переданным сообщением о коммите (это не сработает, если вы не сделали никаких изменений для фиксации)
  • > /dev/null скрывает выходные данные команды, которая включает в себя Git, повторяя очень длинное сообщение коммита
26 голосов
/ 16 марта 2012

https://github.com/git/git/blob/master/strbuf.h определяет поле len как size_t.Поэтому, по крайней мере, максимальная длина имеет верхнюю границу с максимальным значением size_t на выбранной вами платформе.

2 голосов
/ 17 апреля 2018

Ну, на самом деле, для JGit есть ограничение ~ 5 МБ.

Конечно, я должен спросить, почему кто-то так поступил ?! Тем более, что каждый последующий клон должен будет включать эти данные. Я бы сказал, что если вы выходите за рамки нескольких килобайт, то вам действительно стоит задаться вопросом о своих мотивах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...