diff --git a/src/error.rs b/src/error.rs index 9a140e4..1986948 100644 --- a/src/error.rs +++ b/src/error.rs @@ -33,7 +33,18 @@ impl From for Error { impl From for Error { fn from(err: io::Error) -> Self { - Self::Io(err) + Self::Io( + match err.raw_os_error() { + Some(os_err) => match os_err { + 7 => { + let msg = "There are so many changed files that the environment variables of the child process have been overrun. Try running with --no-meta or --no-environment."; + io::Error::new(io::ErrorKind::Other, msg) + }, + _ => err, + } + None => err, + } + ) } }