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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 288150d1a678f2df71346d94b797019f31a52008de43663aa19cb9fd3584d5a6
4
- data.tar.gz: 460fe4bff0085989bc9a2d2ae4db7ae4591aff9a928ae9d320cd079d4d6a276d
3
+ metadata.gz: 6bf325414affb3c4e36149069cf2e07958d43bef4766765a32aa9e2d97dbda02
4
+ data.tar.gz: 17dc1a6fabbf9571c9b5568cd098e272de0292f593c8ca6bc2e650d6756dca44
5
5
  SHA512:
6
- metadata.gz: 34f36001b129d8e0bd005ba1e908361df50df198626fe98b5015afa6cbce2860b055086e87c6f81e4aebec101c1297832b525d78e1ce995d5582d40ee9065eaf
7
- data.tar.gz: b881f8bbd05e49893afb7213ab22d64d01117f3dedbdee6772b80720489d367b7a2bb6a1c33a9e63161f6673b3683198b33010a7c54dcf70e38e56461f7ec1ee
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ruborg
4
- VERSION = "0.7.5"
4
+ VERSION = "0.7.6"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruborg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.5
4
+ version: 0.7.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michail Pantelelis