diff --git a/Cargo.lock b/Cargo.lock index b00ba11..c29191b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -325,7 +325,7 @@ dependencies = [ [[package]] name = "gitig" -version = "0.1.3" +version = "0.1.4" dependencies = [ "directories", "error-chain", diff --git a/Cargo.toml b/Cargo.toml index 3f07f98..f09a5da 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gitig" -version = "0.1.3" +version = "0.1.4" authors = ["Marcel Schneider "] edition = "2018" diff --git a/src/gitignore.rs b/src/gitignore.rs index 9094bd8..dd13d8b 100644 --- a/src/gitignore.rs +++ b/src/gitignore.rs @@ -1,5 +1,6 @@ //! This module contains an abstraction for gitignore files use crate::errors::*; +use log::trace; use std::fs::OpenOptions; use std::path::PathBuf; @@ -13,7 +14,10 @@ impl Gitignore { /// Create a new Gitignore struct from a git root folder path /// /// The given `path` must be a valid path to an existing git root folder - pub fn from_path(path: &PathBuf) -> Self { Gitignore { path: path.clone() } } + pub fn from_path(path: &PathBuf) -> Self { + trace!("Creating gitignore file object for path {}", path.to_string_lossy()); + Gitignore { path: path.clone() } + } /// Append a line to the file pub fn add_line(&self, line: &str) -> Result<()> { @@ -21,6 +25,7 @@ impl Gitignore { let mut file = OpenOptions::new() .write(true) .append(true) + .create(true) .open(&self.path) .chain_err(|| "Error while opening gitignore file")?; writeln!(file, "{}", line).chain_err(|| "Error while writing line to gitignore")?;