sapling/eden/locale/README.md
Adam Simpkins 4b36988315 add a custom translation for ENOTCONN
Summary:
Add a locale translation file that we can install to modify the error message
that most programs print for `ENOTCONN` errors.

Any I/O operations inside an unmounted FUSE mount will fail with `ENOTCONN`.
Many users don't really know what to do when they encounter this error.  This
alternate error message should hopefully help point them in the right
direction.

Reviewed By: wez, pixelb

Differential Revision: D14360858

fbshipit-source-id: 9d538ee675815f017160c3382e2919136367464f
2019-03-07 12:55:04 -08:00

1.2 KiB

This directory contains some locale files that can be installed to tweak some common system error messages.

In particular this changes the message replaces the error message for ENOTCONN to suggest that the user try running eden doctor if they are in an Eden checkout. When using an Eden checkout, receiving an ENOTCONN error from the filesystem normally means that the checkout has been unmounted. This can happen if the edenfs daemon has died or been restarted.

Not all ENOTCONN errors are related to Eden. Since this file just globally replaces the translation it can end up showing this advice in some cases that aren't relevant. However ENOTCONN is fairly rare in other circumstances. It can be generated by socket APIs, but normally only as a result of programmer error: attempting to read from or get the peer name on a network socket that was never connected, or that was already explicitly shutdown. These other situations primarily only occur for developers writing network programs and are rare for other users.

If you edit glibc_en.po you can regenerate glibc_en.mo by running msgfmt -o glibc_en.mo glibc_en.po (msgfmt is part of GNU gettext)