X-Git-Url: https://git.r.bdr.sh/rbdr/blog/blobdiff_plain/606f82c76540a9d80366fdb943c06abe525f662e..c4b892b16fb92c7d89eaee0b1588c52c8836216b:/src/command/add.rs?ds=sidebyside diff --git a/src/command/add.rs b/src/command/add.rs index dbcc512..02da0fb 100644 --- a/src/command/add.rs +++ b/src/command/add.rs @@ -1,4 +1,4 @@ -use std::fs::{create_dir_all, rename}; +use std::fs::{create_dir_all, remove_dir_all, rename}; use std::io::Result; use super::{ generate::Generate, @@ -23,10 +23,13 @@ impl super::Command for Add { fn execute(&self, _: Option<&String>, configuration: &Configuration, _: &String) -> Result<()> { create_dir_all(&configuration.posts_directory)?; - for i in (0..configuration.max_posts).rev() { + for i in (0..configuration.max_posts - 1).rev() { let source = configuration.posts_directory.join(i.to_string()); let target = configuration.posts_directory.join((i + 1).to_string()); + if target.exists() { + remove_dir_all(&target)?; + } if source.exists() { rename(&source, &target)?; }