# Wimby TubeSync fork This fork tracks upstream TubeSync at https://github.com/meeb/tubesync and carries a small set of local patches as separate commits. ## Updating from upstream The local clone is expected to have: - `origin` = `git@git.wimby.cz:wimby/tubesync.git` - `upstream` = `https://github.com/meeb/tubesync.git` Update with: ```sh ./scripts/update-from-upstream.sh ``` The script requires a clean `main`, fetches both remotes, rebases the local patch series onto `upstream/main`, and pushes with a guarded `--force-with-lease`. It refuses to push if `origin/main` changed after the fetch. To rebase locally for inspection without pushing: ```sh ./scripts/update-from-upstream.sh --no-push ``` If upstream changes the same code, the script stops on the rebase conflict and does not push. Resolve the conflict and continue with `git rebase --continue`, or restore the pre-update state with `git rebase --abort`. A push to `main` builds and publishes: - `git.wimby.cz/wimby/tubesync:latest` - `git.wimby.cz/wimby/tubesync:<12-character-commit-sha>` The deployment should normally track `:latest`; the SHA tag is available for rollback. The Gitea Actions runner builds this image natively on ARM64. Operational follow-up work is tracked in [`TODO.md`](TODO.md).