0caa4ff144
Build and Deploy Verso / deploy (push) Successful in 12m35s
Branch: - New "Branch" text field (default: main) stored in gitSyncBranch on the project. Used for git fetch, symbolic-ref, and push target. Validated server-side: alphanumeric + / _ . - only, no .. First-push confirmation: - When pushFiles is enabled and the user hasn't confirmed for the current subPath, clicking "Push now" shows an inline warning: "The <subPath> directory will be completely replaced …" with "Yes, push and replace" / "Cancel" buttons. - Confirmation is stored in localStorage keyed by projectId+subPath, so it's shown again if the subPath is changed. - Auto-push bypasses the dialog (user already opted in explicitly). PDF-only replace: - Already correct with the fetch-first approach: only the specific file at pdfPath is written; other files in the same directory (e.g. output/old.pdf) are preserved from the fetched remote state. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>