Summary:
Now that all our repos are treemanifest, let's enable the extension by
default in tests. Once we're certain no one needs it in production we'll also
make it the default in core Mercurial.
This diff includes a minor fix in treemanifest to be aware of always-enabled
extensions. It won't matter until we actually add treemanifest to the list of
default enabled extensions, but I caught this while testing things.
Reviewed By: ikostia
Differential Revision: D15030253
fbshipit-source-id: d8361f915928b6ad90665e6ed330c1df5c8d8d86
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