69 lines
2.1 KiB
Python
69 lines
2.1 KiB
Python
#!/usr/bin/env python3
|
|
"""Einmaliges PRE-Release-Backup 1.3.13."""
|
|
from __future__ import annotations
|
|
|
|
import shutil
|
|
import subprocess
|
|
from datetime import datetime
|
|
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parent
|
|
TS = datetime.now().strftime("%Y%m%d_%H%M%S")
|
|
BACKUP = ROOT / f"backup_pre_release_1_3_13_{TS}"
|
|
BACKUP.mkdir(parents=True, exist_ok=True)
|
|
|
|
FILES = [
|
|
"aza_version.py",
|
|
"version.json",
|
|
"release/version.json",
|
|
"_build_info.py",
|
|
"web/empfang.html",
|
|
"aza_empfang_webview.py",
|
|
"aza_empfang_shell_surface.py",
|
|
"basis14.py",
|
|
"build_exe.ps1",
|
|
"build_installer.ps1",
|
|
"release.ps1",
|
|
"sign_release_artifacts.ps1",
|
|
"build_release_manifest.ps1",
|
|
"publish_update.ps1",
|
|
"start_doku_prompt_test.ps1",
|
|
"aza_build_stamp.py",
|
|
"installer/aza_installer.iss",
|
|
]
|
|
|
|
for rel in FILES:
|
|
src = ROOT / rel
|
|
if src.is_file():
|
|
dst = BACKUP / rel
|
|
dst.parent.mkdir(parents=True, exist_ok=True)
|
|
shutil.copy2(src, dst)
|
|
|
|
for name, cmd in [
|
|
("git_status_before.txt", ["git", "status", "--short"]),
|
|
("git_diff_stat_before.txt", ["git", "diff", "--stat"]),
|
|
("git_diff_before.patch", ["git", "diff"]),
|
|
]:
|
|
try:
|
|
r = subprocess.run(cmd, cwd=ROOT, capture_output=True, text=True, check=False)
|
|
(BACKUP / name).write_text(r.stdout + r.stderr, encoding="utf-8")
|
|
except Exception as exc:
|
|
(BACKUP / name).write_text(f"ERROR: {exc}", encoding="utf-8")
|
|
|
|
v13 = ROOT / "dist" / "test_final_release_candidate_v13"
|
|
v13_dst = BACKUP / "dist" / "test_final_release_candidate_v13"
|
|
if v13.is_dir():
|
|
shutil.copytree(v13, v13_dst, dirs_exist_ok=True)
|
|
|
|
readme = f"""WIEDERHERSTELLUNG backup_pre_release_1_3_13
|
|
Erstellt: {TS}
|
|
Projektroot: {ROOT}
|
|
|
|
1. Dateien aus diesem Backup ins Projektroot zurueckkopieren
|
|
2. dist/test_final_release_candidate_v13/ zurueckkopieren
|
|
3. Git-Stand: git_status_before.txt, git_diff_before.patch
|
|
4. Server-Manifest/Installer bei Bedarf aus Server-PRE-Backup wiederherstellen (1.3.12)
|
|
"""
|
|
(BACKUP / "README_RESTORE.txt").write_text(readme, encoding="utf-8")
|
|
print(f"PRE_BACKUP_DIR={BACKUP}")
|