Re: git-rebase is ignoring working-tree-encoding
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- Nov 6, 2018, 20:16 UTC
- Message-ID
- <20181106201618.GA30158@tor.lan>
- In-Reply-To
- <20181105181014.GA30777@tor.lan>
On Mon, Nov 05, 2018 at 07:10:14PM +0100, Torsten Bögershausen wrote:
Show 16 quoted lines
> On Mon, Nov 05, 2018 at 05:24:39AM +0100, Adrián Gimeno Balaguer wrote: > > [] > > > https://github.com/git/git/pull/550 > > [] > > > This is covered in the mentioned PR above. Thanks for feedback. > > Thanks for the code, > I will have a look (the next days) > > > > > -- > > Adrián
Hej Adrián,
I still didn't manage to fully understand your problem. I tried to convert your test into my understanding, It can be fetched here (or copied from this message, see below)
https://github.com/tboegi/git/tree/tb.181106_UTF16LE_commit
The commit of an empty file seems to work for me, in the initial report a "rebase" was mentioned, which is not in the TC ?
Is the following what you intended to test ?
#!/bin/sh test_description='UTF-16 LE/BE file encoding using working-tree-encoding'
. ./test-lib.sh
# We specify the UTF-16LE BOM manually, to not depend on programs such as iconv. utf16leBOM=$(printf '\377\376')
test_expect_success 'Stage empty UTF-16LE file as binary' ' >empty_0.txt && echo "empty_0.txt binary" >>.gitattributes && git add empty_0.txt '
test_expect_success 'Stage empty file with enc=UTF.16BL' ' >utf16le_0.txt && echo "utf16le_0.txt text working-tree-encoding=UTF-16BE" >>.gitattributes && git add utf16le_0.txt '
test_expect_success 'Create and stage UTF-16LE file with only BOM' ' printf "$utf16leBOM" >utf16le_1.txt && echo "utf16le_1.txt text working-tree-encoding=UTF-16" >>.gitattributes && git add utf16le_1.txt '
test_expect_success 'Dont stage UTF-16LE file with only BOM with enc=UTF.16BE' ' printf "$utf16leBOM" >utf16le_2.txt && echo "utf16le_2.txt text working-tree-encoding=UTF-16BE" >>.gitattributes && test_must_fail git add utf16le_2.txt '
test_expect_success 'commit all files' ' test_tick && git commit -m "Commit all 3 files" '
test_expect_success 'All commited files have the same sha' ' git ls-files -s --eol >tmp1 && sed -e "s! i/none.*!!" <tmp1 | uniq -u >actual && >expect && test_cmp expect actual '
test_done