Repository: borgbackup/borg

Issue:
debug log all cache / index full paths
Considering issues like #5954 are bad to solve / debug without this information, borg should debug log full paths of all caches / indexes it uses.

Discussion:

Patch:
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
deleted file mode 100644
index 163320ba..00000000
--- a/.readthedocs.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-# .readthedocs.yaml - Read the Docs configuration file.
-# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details.
-
-version: 2
-
-build:
-    os: ubuntu-22.04
-    tools:
-        python: "3.11"
-    jobs:
-        post_checkout:
-            - git fetch --unshallow
-    apt_packages:
-        - build-essential
-        - pkg-config
-        - libacl1-dev
-        - libssl-dev
-        - liblz4-dev
-        - libzstd-dev
-        - libxxhash-dev
-
-python:
-    install:
-        - requirements: requirements.d/development.lock.txt
-        - requirements: requirements.d/docs.txt
-        - method: pip
-          path: .
-
-sphinx:
-    configuration: docs/conf.py
diff --git a/docs/changes.rst b/docs/changes.rst
index 022779e1..1d382ede 100644
--- a/docs/changes.rst
+++ b/docs/changes.rst
@@ -112,8 +112,6 @@ Compatibility notes:
 
 New features:
 
-- create: implement retries for individual fs files
-  (e.g. if a file changed while we read it, if a file had an OSError)
 - info: add used storage quota, #7121
 - transfer: support --progress
 - create/recreate/import-tar: add --checkpoint-volume option
@@ -135,8 +133,6 @@ Fixes:
 - extract: fix mtime when ResourceFork xattr is set (macOS specific), #7234
 - recreate: without --chunker-params shall not rechunk, #7336
 - allow mixing --progress and --list in log-json mode
-- add "files changed while reading" to Statistics class, #7354
-- fixed keys determination in Statistics.__add__(), #7355
 
 Other changes:
 
@@ -159,9 +155,6 @@ Other changes:
 - require and use platformdirs 3.x.x package, tests
 - better included/excluded status chars, docs, #7321
 - undef NDEBUG for chunker and hashindex (make assert() work)
-- assert_id: better be paranoid (add back same crypto code as in old borg), #7362
-- check --verify_data: always decompress and call assert_id(), #7362
-- make hashindex_compact simpler and probably faster, minor fixes, cleanups, more tests
 - hashindex minor fixes, refactor, tweaks, tests
 - pyinstaller: remove icon
 - validation / placeholders / JSON:
@@ -182,8 +175,6 @@ Other changes:
   - shellpattern: add license, use copyright/license markup
   - key change-passphrase: fix --encryption value in examples
   - remove BORG_LIBB2_PREFIX (not used any more)
-  - Installation: Update Fedora in distribution list, #7357
-  - add .readthedocs.yaml (use py311, use non-shallow clone)
 - tests:
 
   - fix archiver tests on Windows, add running the tests to Windows CI
@@ -198,7 +189,6 @@ Other changes:
   - fix test_size_on_disk_accurate for large st_blksize, #7250
   - relaxed timestamp comparisons, use same_ts_ns
   - add test for extracted directory mtime
-  - use "fail" chunker to test erroneous input file skipping
 
 
 Version 2.0.0b4 (2022-11-27)
diff --git a/src/borg/archive.py b/src/borg/archive.py
index 12b2c847..e16db7a4 100644
--- a/src/borg/archive.py
+++ b/src/borg/archive.py
@@ -97,7 +97,6 @@ def __str__(self):
 Unchanged files: {unchanged_files}
 Modified files: {modified_files}
 Error files: {error_files}
-Files changed while reading: {files_changed_while_reading}
 Bytes read from remote: {stats.rx_bytes}
 Bytes sent to remote: {stats.tx_bytes}
 """.format(
@@ -108,7 +107,6 @@ def __str__(self):
             unchanged_files=self.files_stats["U"],
             modified_files=self.files_stats["M"],
             error_files=self.files_stats["E"],
-            files_changed_while_reading=self.files_stats["C"],
         )
 
     def __repr__(self):
diff --git a/src/borg/archiver/transfer_cmd.py b/src/borg/archiver/transfer_cmd.py
index c3fa8c9b..c5a7951d 100644
--- a/src/borg/archiver/transfer_cmd.py
+++ b/src/borg/archiver/transfer_cmd.py
@@ -134,9 +134,9 @@ def do_transfer(self, args, *, repository, manifest, cache, other_repository=Non
                     if not dry_run:
                         item = upgrader.upgrade_item(item=item)
                         archive.add_item(item, show_progress=args.progress)
+                if args.progress:
+                    archive.stats.show_progress(final=True)
                 if not dry_run:
-                    if args.progress:
-                        archive.stats.show_progress(final=True)
                     additional_metadata = upgrader.upgrade_archive_metadata(metadata=other_archive.metadata)
                     archive.save(additional_metadata=additional_metadata)
                     print(
diff --git a/src/borg/cache.py b/src/borg/cache.py
index afc6a9b2..7dbde9ce 100644
--- a/src/borg/cache.py
+++ b/src/borg/cache.py
@@ -262,6 +262,7 @@ class CacheConfig:
     def __init__(self, repository, path=None, lock_wait=None):
         self.repository = repository
         self.path = cache_dir(repository, path)
+        logger.debug("Using %s as cache", self.path)
         self.config_path = os.path.join(self.path, "config")
         self.lock = None
         self.lock_wait = lock_wait


Test patch:
diff --git a/src/borg/testsuite/archive.py b/src/borg/testsuite/archive.py
index 3dbd21a8..1cc2ffd0 100644
--- a/src/borg/testsuite/archive.py
+++ b/src/borg/testsuite/archive.py
@@ -67,7 +67,6 @@ def test_stats_format(stats):
 Unchanged files: 0
 Modified files: 0
 Error files: 0
-Files changed while reading: 0
 Bytes read from remote: 0
 Bytes sent to remote: 0
 """