Re: [PATCH v2 3/3] sequencer: reencode to utf-8 before arrange rebase's todo list
- From
Danh Doan <congdanhqx@gmail.com>
- Date
- Nov 2, 2019, 12:20 UTC
- Message-ID
- <20191102122023.GA7468@danh.dev>
- In-Reply-To
- <20191102010215.GB17624@danh.dev>
On 2019-11-02 08:02:15 +0700, Danh Doan wrote:
> Anyway, if we're going to working with a single encoding internally, > can we take other extreme approach: reencode the commit message to > utf-8 before writing the commit object? (Is there any codepoint in > other encoding that can't be reencoded to utf-8?)
With this test (added into t3900):
git checkout -b fixup-ISO-2022-JP-ISO-8859-1 C0 &&
git config i18n.commitencoding ISO-2022-JP &&
echo ISO-2022-JP >>F &&
git commit -a -F "$TEST_DIRECTORY"/t3900/ISO-2022-JP.txt &&
test_tick &&
echo intermediate stuff >>G &&
git add G &&
git commit -a -m "intermediate commit" &&
test_tick &&
git config i18n.commitencoding ISO-8859-1 &&
echo ISO-8859-1-fixup >>F &&
git commit -a --fixup HEAD^ &&
git config --unset-all i18n.commitencoding &&
git rebase --autosquash -i HEAD^^^ &&
git rev-list HEAD >actual &&
test_line_count = 3 actualreencode the commit message to utf-8 before writing the commit object is (likely) the most simple option to fix it.
At the very least, the commit message for fixup/squash-ing commit must be encoded in either utf-8 or the target-commit's encode.
-- Danh