diff --git a/README.md b/README.md index ee8c5fd..88a8867 100644 --- a/README.md +++ b/README.md @@ -44,8 +44,8 @@ Install assets are currently expected to already exist locally, usually under: ## Beat Saber Data Backups `backup-userdata` copies the mounted Windows `UserData` folder and Beat Saber -Windows app data into this repo. With the Windows mount at `~/Windows`, the -helper infers Beat Saber's Windows app data as: +Windows app data into the adjacent `../backups` repo. With the Windows mount at +`~/Windows`, the helper infers Beat Saber's Windows app data as: ```text /home/pleb/Windows/Users/pleb/AppData/LocalLow/Hyperbolic Magnetism/Beat Saber @@ -60,12 +60,13 @@ PYTHONPATH=src python -m plugin_helper \ --instance 1.44.1 ``` -By default the repo receives plain copied files under `backups/beat-saber/UserData` -and `backups/beat-saber/AppData`, plus `backups/beat-saber/backup-descriptor.json` -describing the source paths from the latest backup run. Use +By default the backup repo receives plain copied files under +`../backups/beat-saber/UserData` and `../backups/beat-saber/AppData`, plus +`../backups/beat-saber/backup-descriptor.json` describing the source paths from +the latest backup run. Use `--appdata-path ` if the Windows profile path ever differs, `--no-appdata` for a `UserData`-only sync, or `--backup-root ` to choose a different -repo-local destination. +destination. The backup intentionally omits bulky/generated data: diff --git a/src/plugin_helper/cli.py b/src/plugin_helper/cli.py index 944752e..9caaa1a 100644 --- a/src/plugin_helper/cli.py +++ b/src/plugin_helper/cli.py @@ -238,11 +238,11 @@ def build_parser() -> argparse.ArgumentParser: backup = subcommands.add_parser( "backup-userdata", - help="Copy UserData and Windows AppData into this repo", + help="Copy UserData and Windows AppData into the adjacent backups repo", parents=[_common_parent()], ) backup.add_argument("--instance", required=True) - backup.add_argument("--backup-root", default="backups/beat-saber", help="Repo-local backup directory") + backup.add_argument("--backup-root", default="../backups/beat-saber", help="Backup directory") backup.add_argument("--appdata-path", help="Override Beat Saber Windows AppData path") backup.add_argument("--no-appdata", action="store_true", help="Only copy UserData") @@ -560,7 +560,7 @@ def run(argv: list[str] | None = None) -> int: root = repo_root() backup_root = Path(args.backup_root).expanduser() if not backup_root.is_absolute(): - backup_root = root / backup_root + backup_root = (root / backup_root).resolve() result = sync_windows_data_repo( instance=args.instance, instance_path=instance.path,