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

22 lines
1.2 KiB
Markdown

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)