Super long branch names corrupt `.git/config`
- From
- Ben Olive <sionide21@gmail.com>
- Date
- Oct 4, 2012, 17:15 UTC
- Message-ID
- <CAAmo=1BU5N8nbonEb1aZEx=-e8VexwsE74pjm_56dXmCDK+K6g@mail.gmail.com>
My `.git/config` can be corrupted if I try to get a local branch with an extremely long name to track a remote branch.
Here is a (contrived) example to reproduce the issue:
$ cd /tmp
$ mkdir buggyrepo otherrepo
$ cd buggyrepo/ && git init && cd -
$ cd otherrepo/ && git init && cd -
$ cd buggyrepo/
$ echo foo > MYFILE
$ git add MYFILE && git commit -m "Initial"
$ git remote add otherrepo ../otherrepo/
$ git checkout -b `ruby -e "puts 'a'*200"`
$ git push -u otherrepo `ruby -e "puts 'a'*200"`
fatal: bad config file line 11 in .git/config
$ git status
fatal: bad config file line 11 in .git/configWorkaround available: Just delete the offending entry.
I tested this with 1.7.12.2
--Ben Olive