diff --git a/src/comment.rs b/src/comment.rs index 1fa2e36..6424e58 100644 --- a/src/comment.rs +++ b/src/comment.rs @@ -219,7 +219,7 @@ mod tests { let expected = Comment { uuid: String::from("9055dac36045fe36545bed7ae7b49347"), author: String::from("Sebastian Kuzminsky "), - creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-24T10:08:38-06:00") + creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-23T15:06:31-06:00") .unwrap() .with_timezone(&chrono::Local), description: String::from("This is a comment on issue dd79c8cfb8beeacd0460429944b4ecbe\n\nIt has multiple lines\n"), diff --git a/src/issue.rs b/src/issue.rs index 093d2e4..1db0792 100644 --- a/src/issue.rs +++ b/src/issue.rs @@ -577,28 +577,12 @@ impl Issue { Ok(tag) } - // Perform escape on a tag to make it into a filename: - // "," => ",0" - // "/" => ",1" - fn tag_to_filename(tag: &str) -> String { - let mut filename = tag.replace(",", ",0"); - filename = filename.replace("/", ",1"); - return filename; - } - fn commit_tags(&self, commit_message: &str) -> Result<(), IssueError> { - let mut tags_dir_name = self.dir.clone(); - tags_dir_name.push("tags"); - match std::fs::remove_dir_all(&tags_dir_name) { - Err(e) if e.kind() == std::io::ErrorKind::NotFound => (), - Err(e) => return Err(e.into()), - Ok(_) => (), - } - std::fs::create_dir(&tags_dir_name)?; + let mut tags_filename = self.dir.clone(); + tags_filename.push("tags"); + let mut tags_file = std::fs::File::create(&tags_filename)?; for tag in &self.tags { - let mut tag_filename = tags_dir_name.clone(); - tag_filename.push(Issue::tag_to_filename(tag)); - std::fs::File::create(&tag_filename)?; + writeln!(tags_file, "{}", tag)?; } self.commit(commit_message)?; Ok(()) @@ -677,42 +661,6 @@ mod tests { } } - #[test] - fn tag_to_filename_0() { - let tag = "hello"; - assert_eq!(Issue::tag_to_filename(tag), "hello"); - } - - #[test] - fn tag_to_filename_1() { - let tag = "hello,"; - assert_eq!(Issue::tag_to_filename(tag), "hello,0"); - } - - #[test] - fn tag_to_filename_2() { - let tag = "/hello"; - assert_eq!(Issue::tag_to_filename(tag), ",1hello"); - } - - #[test] - fn tag_to_filename_3() { - let tag = "hello/bye,boo"; - assert_eq!(Issue::tag_to_filename(tag), "hello,1bye,0boo"); - } - - #[test] - fn tag_to_filename_4() { - let tag = ",,,///,,,"; - assert_eq!(Issue::tag_to_filename(tag), ",0,0,0,1,1,1,0,0,0"); - } - - #[test] - fn tag_to_filename_5() { - let tag = ",0,0,1,1"; - assert_eq!(Issue::tag_to_filename(tag), ",00,00,01,01"); - } - #[test] fn read_issue_0() { let issue_dir = std::path::Path::new("test/0000/3943fc5c173fdf41c0a22251593cd476/"); @@ -720,7 +668,7 @@ mod tests { let expected = Issue { id: String::from("3943fc5c173fdf41c0a22251593cd476"), author: String::from("Sebastian Kuzminsky "), - creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-24T08:36:25-06:00") + creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-23T15:06:31-06:00") .unwrap() .with_timezone(&chrono::Local), done_time: None, @@ -753,7 +701,7 @@ mod tests { let expected = Issue { id: String::from("7792b063eef6d33e7da5dc1856750c14"), author: String::from("Sebastian Kuzminsky "), - creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-24T08:37:07-06:00") + creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-23T15:06:31-06:00") .unwrap() .with_timezone(&chrono::Local), done_time: None, diff --git a/src/issues.rs b/src/issues.rs index 49d721d..8db4c26 100644 --- a/src/issues.rs +++ b/src/issues.rs @@ -102,7 +102,7 @@ mod tests { expected.add_issue(crate::issue::Issue { id: uuid, author: String::from("Sebastian Kuzminsky "), - creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-24T08:37:07-06:00") + creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-23T15:06:31-06:00") .unwrap() .with_timezone(&chrono::Local), done_time: None, @@ -122,7 +122,7 @@ mod tests { crate::issue::Issue { id: uuid, author: String::from("Sebastian Kuzminsky "), - creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-24T08:36:25-06:00") + creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-23T15:06:31-06:00") .unwrap() .with_timezone(&chrono::Local), done_time: None, @@ -160,7 +160,7 @@ mod tests { expected.add_issue(crate::issue::Issue { id: uuid, author: String::from("Sebastian Kuzminsky "), - creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-24T08:37:46-06:00") + creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-23T15:06:31-06:00") .unwrap() .with_timezone(&chrono::Local), done_time: Some( @@ -189,7 +189,7 @@ mod tests { crate::comment::Comment { uuid: comment_uuid, author: String::from("Sebastian Kuzminsky "), - creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-24T10:08:38-06:00").unwrap().with_timezone(&chrono::Local), + creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-23T15:06:31-06:00").unwrap().with_timezone(&chrono::Local), description: String::from("This is a comment on issue dd79c8cfb8beeacd0460429944b4ecbe\n\nIt has multiple lines\n"), dir: std::path::PathBuf::from(comment_dir), } @@ -198,7 +198,7 @@ mod tests { crate::issue::Issue { id: uuid, author: String::from("Sebastian Kuzminsky "), - creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-24T10:08:24-06:00") + creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-23T15:06:31-06:00") .unwrap() .with_timezone(&chrono::Local), done_time: None, @@ -226,8 +226,8 @@ mod tests { dir.push(&uuid); expected.add_issue(crate::issue::Issue { id: uuid, - author: String::from("sigil-03 "), - creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-24T08:38:40-06:00") + author: String::from("Sebastian Kuzminsky "), + creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-23T15:06:31-06:00") .unwrap() .with_timezone(&chrono::Local), done_time: None, @@ -246,8 +246,8 @@ mod tests { expected.add_issue( crate::issue::Issue { id: uuid, - author: String::from("sigil-03 "), - creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-24T08:39:20-06:00") + author: String::from("Sebastian Kuzminsky "), + creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-23T15:06:31-06:00") .unwrap() .with_timezone(&chrono::Local), done_time: None, @@ -267,8 +267,8 @@ mod tests { expected.add_issue( crate::issue::Issue { id: uuid, - author: String::from("sigil-03 "), - creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-24T08:39:02-06:00") + author: String::from("Sebastian Kuzminsky "), + creation_time: chrono::DateTime::parse_from_rfc3339("2025-07-23T15:06:31-06:00") .unwrap() .with_timezone(&chrono::Local), done_time: None, diff --git a/tools/update-tags-encoding b/tools/update-tags-encoding index 9ab10a0..c06ba74 100755 --- a/tools/update-tags-encoding +++ b/tools/update-tags-encoding @@ -7,13 +7,6 @@ set -e #set -x -function escape_tag() { - TAG="$1" - TAG=$(echo "${TAG}" | sed -re 's/,/,0/g') - TAG=$(echo "${TAG}" | sed -re 's/\//,1/g') - echo "${TAG}" -} - BRANCH="" if [[ -n "$1" ]] && [[ -d "$1" ]]; then @@ -60,7 +53,6 @@ for ISSUE_ID in $(find . -maxdepth 1 -type d -regextype posix-extended -regex '\ mkdir tags for TAG in ${TAGS}; do - TAG=$(escape_tag "${TAG}") touch "tags/${TAG}" done