Maximum commit message size
Empirically, I think the answer is no. This worked (that's a ~100MB commit message):
yes | head -c 100000000 | git commit -F - > /dev/null
Command parts explanation:
-
yes
repeats"y\n"
forever -
head -c 100000000
takes only the first 100,000,000 bytes (~100MB) -
git commit -F -
commits with the passed-in commit message (this won’t work if you haven’t staged any changes to commit) -
> /dev/null
hides the output from the command, which includes Git repeating back the very long commit message
https://github.com/git/git/blob/master/strbuf.h defines the len
field to be a size_t
. So at the very least, the maximum length has an upper bound at the maximum value of size_t
on your platform of choice.