diff options
| author | Tao Klerks <tao@klerks.biz> | 2022-04-04 05:50:36 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2022-04-06 12:59:58 -0700 |
| commit | fbe5f6b80437adbcd58af1b3751b830910a2ddaa (patch) | |
| tree | 21ee632bc2823430943d7f5ff4af33591a06637f /refs/files-backend.c | |
| parent | Git 2.36-rc0 (diff) | |
| download | git-fbe5f6b80437adbcd58af1b3751b830910a2ddaa.tar.gz git-fbe5f6b80437adbcd58af1b3751b830910a2ddaa.zip | |
git-p4: preserve utf8 BOM when importing from p4 to git
Perforce has a file type "utf8" which represents a text file with
explicit BOM. utf8-encoded files *without* BOM are stored as
regular file type "text". The "utf8" file type behaves like text
in all but one important way: it is stored, internally, without
the leading 3 BOM bytes.
git-p4 has historically imported utf8-with-BOM files (files stored,
in Perforce, as type "utf8") the same way as regular text files -
losing the BOM in the process.
Under most circumstances this issue has little functional impact,
as most systems consider the BOM to be optional and redundant, but
this *is* a correctness failure, and can have lead to practical
issues for example when BOMs are explicitly included in test files,
for example in a file encoding test suite.
Fix the handling of utf8-with-BOM files when importing changes from
p4 to git, and introduce a test that checks it is working correctly.
Signed-off-by: Tao Klerks <tao@klerks.biz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs/files-backend.c')
0 files changed, 0 insertions, 0 deletions
