ruborg 0.7.5 → 0.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/lib/ruborg/backup.rb +11 -0
- data/lib/ruborg/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6bf325414affb3c4e36149069cf2e07958d43bef4766765a32aa9e2d97dbda02
|
|
4
|
+
data.tar.gz: 17dc1a6fabbf9571c9b5568cd098e272de0292f593c8ca6bc2e650d6756dca44
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 46ccdff766a5d7b3b6d2e19fbc1dd4c2b57202a799a14d66683299b9f2d162ce8f7889c6ebe8f8e925fc358c22ad6a4e0253a95b07d40635fe98a71f74bab5a1
|
|
7
|
+
data.tar.gz: e1663b45f75858b0197ce89e8803f95da4d104a8b7e4b7398baeaecd9033e469aeec8f2d74c6f21eb72e16ba77d848a2e651b6e58590f7a0a0de1fb5f553998e
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.7.6] - 2025-10-09
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- **Filesystem Compatibility**: Gracefully handle filesystems that don't support chattr operations
|
|
14
|
+
- Network filesystems (NFS, CIFS/SMB) and non-Linux filesystems (NTFS, FAT, exFAT) often don't support Linux file attributes
|
|
15
|
+
- When chattr fails with "Operation not supported", log warning and continue with deletion
|
|
16
|
+
- Allows `--remove-source` to work on network shares and external drives
|
|
17
|
+
- Fixes error: "Cannot remove immutable file: ... Error: chattr: Operation not supported"
|
|
18
|
+
|
|
19
|
+
### Technical Details
|
|
20
|
+
- Detects "Operation not supported" error from chattr command (lib/ruborg/backup.rb:394)
|
|
21
|
+
- Logs informative warning about filesystem limitations
|
|
22
|
+
- Continues with file deletion (no longer raises error)
|
|
23
|
+
- Test coverage: Added comprehensive test for unsupported filesystem scenario
|
|
24
|
+
|
|
10
25
|
## [0.7.5] - 2025-10-09
|
|
11
26
|
|
|
12
27
|
### Added
|
data/lib/ruborg/backup.rb
CHANGED
|
@@ -390,6 +390,17 @@ module Ruborg
|
|
|
390
390
|
_chattr_stdout, chattr_stderr, chattr_status = Open3.capture3("chattr", "-i", file_path)
|
|
391
391
|
|
|
392
392
|
unless chattr_status.success?
|
|
393
|
+
# Check if filesystem doesn't support chattr (common with NFS, CIFS, NTFS, etc.)
|
|
394
|
+
if chattr_stderr.include?("Operation not supported")
|
|
395
|
+
@logger&.warn(
|
|
396
|
+
"Filesystem does not support chattr operations for #{file_path}. " \
|
|
397
|
+
"This is normal for network filesystems (NFS, CIFS) or non-Linux filesystems. " \
|
|
398
|
+
"Attempting deletion anyway."
|
|
399
|
+
)
|
|
400
|
+
return
|
|
401
|
+
end
|
|
402
|
+
|
|
403
|
+
# Other errors (like permission denied) should still raise
|
|
393
404
|
@logger&.error("Failed to remove immutable attribute from #{file_path}: #{chattr_stderr.strip}")
|
|
394
405
|
raise BorgError, "Cannot remove immutable file: #{file_path}. Error: #{chattr_stderr.strip}"
|
|
395
406
|
end
|
data/lib/ruborg/version.rb
CHANGED