Fix bugs and improve robustness across the codebase
- Fix staged files being silently cleared when commit uses inline files - Refactor step navigation to use direct go_to_step instead of fragile delta math - Change step numbers from i32 to u32 (reject negative values at parse time) - Add tour rm command to mark files for removal during carry-forward - Add tour reset command to clear session and remove tracked files - Consolidate duplicate recursive copy functions into shared copy_tree in utils - Validate step directories are sequential (detect corruption) - Detect binary files in diffs instead of showing garbage - Use /// doc comments on enum variants so clap generates proper help text - Remove custom Help subcommand in favor of clap's built-in --help - Add CorruptedTour error variant for integrity checks Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -94,8 +94,10 @@ pub fn update_last_modified() -> Result<(), io::Error> {
|
||||
fs::write(INFO_PATH, info.serialize())
|
||||
}
|
||||
|
||||
pub fn info() -> Result<(), io::Error> {
|
||||
get_info()
|
||||
pub fn info() -> Result<(), crate::error::TourError> {
|
||||
crate::utils::require_tour()?;
|
||||
get_info()?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn current_date() -> String {
|
||||
@@ -134,5 +136,5 @@ fn days_to_ymd(mut days: u32) -> (u32, u32, u32) {
|
||||
}
|
||||
|
||||
fn is_leap(year: u32) -> bool {
|
||||
(year % 4 == 0 && year % 100 != 0) || year % 400 == 0
|
||||
(year.is_multiple_of(4) && !year.is_multiple_of(100)) || year.is_multiple_of(400)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user