1use std::path::PathBuf;
4
5#[derive(Debug, thiserror::Error)]
7pub enum FileError {
8 #[error("File not found: {0}")]
10 NotFound(PathBuf),
11
12 #[error("Permission denied: {0}")]
14 PermissionDenied(PathBuf),
15
16 #[error("Conflict detected at {0}: file already exists")]
18 ConflictDetected(PathBuf),
19
20 #[error("Invalid content: {0}")]
22 InvalidContent(String),
23
24 #[error("Content verification failed: {0}")]
26 VerificationFailed(String),
27
28 #[error("Backup failed: {0}")]
30 BackupFailed(String),
31
32 #[error("Backup integrity check failed: hash mismatch")]
34 BackupCorrupted,
35
36 #[error("Transaction failed: {0}")]
38 TransactionFailed(String),
39
40 #[error("Rollback failed: {0}")]
42 RollbackFailed(String),
43
44 #[error("Git operation failed: {0}")]
46 GitError(String),
47
48 #[error("Diff generation failed: {0}")]
50 DiffError(String),
51
52 #[error("IO error: {0}")]
54 IoError(#[from] std::io::Error),
55}