Summary:
The long filename encoding method introduced in D8527475 is insufficient for
files that have very long names that include some underscores.
For these files, we encode the underscores as `:`. This character is valid for
filenames on Linux, but won't work on Windows.
Reviewed By: mitrandir77
Differential Revision: D9967059
fbshipit-source-id: 67ea662f48f9fcc40e00b36c86697f3be6aac978
Summary:
hg filename encoding will double the length of upper-case paths. That could
be problematic if there is a long file name with many upper-case characters.
Workaround it by detecting the long name case, and keep upper-case
unchanged.
This unblocks a production issue where a long upper-case file name was
committed to the source of truth and the hg mirror cannot import it. But it
makes Windows hosting less "correct".
Reviewed By: DurhamG
Differential Revision: D8527475
fbshipit-source-id: da25fcce7e3173769788bd164629c28466158cd2