summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Gallant <jamslam@gmail.com>2018-07-16 17:40:02 -0400
committerAndrew Gallant <jamslam@gmail.com>2018-07-16 17:40:02 -0400
commitb64475aeac00c430b58ff953a27d0d448161625e (patch)
treec007f23ad6cf59d2af638904429b8b3afebb272b
parentfca9709d94053c65e8d961c3fe3cfda9cec06e76 (diff)
ignore: permit use of env::home_dir
Upstream deprecated env::home_dir because of minor bugs in some corner cases. We should probably eventually migrate to a correct implementation in the `dirs` crate, but using the buggy version is just fine for now.
-rw-r--r--ignore/src/gitignore.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/ignore/src/gitignore.rs b/ignore/src/gitignore.rs
index b6874d98..bcfe8b53 100644
--- a/ignore/src/gitignore.rs
+++ b/ignore/src/gitignore.rs
@@ -538,6 +538,10 @@ fn gitconfig_contents() -> Option<Vec<u8>> {
///
/// Specifically, this respects XDG_CONFIG_HOME.
fn excludes_file_default() -> Option<PathBuf> {
+ // We're fine with using env::home_dir for now. Its bugs are, IMO, pretty
+ // minor corner cases. We should still probably eventually migrate to
+ // the `dirs` crate to get a proper implementation.
+ #![allow(deprecated)]
env::var_os("XDG_CONFIG_HOME")
.and_then(|x| if x.is_empty() { None } else { Some(PathBuf::from(x)) })
.or_else(|| env::home_dir().map(|p| p.join(".config")))