20752 Commits

Author SHA1 Message Date
petru 471cfdd161 Modified - [install] [backup] [database] [recovery] Consolidated database backup and installer recovery support.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - Add: Gitea now creates timestamped database backup bundles under `[backup].PATH`, exposes the backup schedule in the installer, and surfaces the `database_backup` cron task in admin monitoring.
- 2 - Add: installed instances now use `.gitea-installed` and `.gitea-recovery.ini` to enter email-gated recovery instead of falling back to public install mode when configuration or database access is broken.
- 3 - Mod: the installer recovery flow now covers backup-bundle restore, bundled or manual `app.ini` reuse, uploaded SQL/GZ database restores, and repository-filesystem recovery with source-specific validation, confirmations, and preserved launcher state.
- 4 - Fix: recovery now restores bundled `app.ini` snapshots when needed, discovers backup bundles from both the active backup path and persisted `.gitea-recovery.ini` path, and preserves SMTP and other rebuilt settings correctly when `app.ini` is missing or incomplete.
- 5 - Fix: recovery validation and restore handling now accept either a selected backup bundle or an uploaded SQL/GZ dump, keep sensitive secrets and existing `LFS_JWT_SECRET` when appropriate, clear SQLite restore targets before import, and complete the post-install handoff without redirect loops.
- 6 - Mod: fresh installs now default recovery email authorization to enabled with first-admin fallback, and the install/recovery UI, styling, and EN/RO wording were refined to match the final launcher behavior.

Co-Authored-By: petru @ codex (GPT-5) <codex@openai.com>
(cherry picked from commit 9879caf2292691b0cb521d12e6fee924b066bae2)
2026-06-01 03:56:03 +03:00
petru 406e6d0697 Modified - [admin] [badges] [orgs] [delete] Added direct delete actions in the admin badges and organizations tables.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - Mod: `/-/admin/badges` now shows a delete button in each row that opens the badge delete modal directly from the table.
- 2 - Mod: `/-/admin/orgs` now shows a delete button in each row that opens an organization delete modal directly from the table.
- 3 - Mod: the new table actions reuse the original delete modal layouts already used in badge edit and organization settings, and deleting an organization from `/-/admin/orgs` now returns to the admin organizations list instead of `/`.
2026-05-24 06:03:05 +03:00
petru 6ea9c8660f Modified - [migrate] [cancel] [windows] [git] [retry] Made canceled repository migrations wait for the real clone shutdown before exposing retry/delete actions, and added Windows process-tree termination for migration clones.
- 1 - Fix: canceling a repository migration no longer marks the page as failed while the Git clone is still running.
- 2 - Mod: `Retry` and `Delete This Repository` stay hidden until the migration task is fully stopped.
- 3 - Fix: canceled migrations now persist as `stopped` and no longer show the raw `clone error: context canceled ...` message.
- 4 - Fix: added an opt-in Windows process-tree kill for migration clone commands via `taskkill /T /F`, because Git helper processes could remain alive after `Cancel`, keep writing `tmp_pack_*`, and block cleanup or retry.
2026-05-24 04:11:48 +03:00
petru 70659dc6c3 Modified - [locale] [ro] Refined several Romanian UI strings for clearer wording and corrected grammar in settings, migration, repository, and admin badge messages.
- 1 - I updated `options/locale/locale_ro-RO.json` so several existing Romanian translations now use clearer and more natural phrasing, including the account deletion warning, Git migration progress text, archive action wording, workflow notification label order, and a few admin badge status messages with corrected agreement and grammar.
2026-05-24 01:28:44 +03:00
petru f293572182 Modified - [install] [reinstall] [modal] [app-ini-import] [secrets] Reworked the installer recovery flow around existing databases and imported app.ini secrets.
- 1 - Compared to the previous project state, the installer no longer mixes the existing-database reinstall warning into the main page body and instead runs that confirmation flow in a dedicated modal with the warning content grouped at the top, a `Back` exit path, and an `Install %s` action that stays disabled until all required confirmations are checked; in the same recovery-oriented flow, importing `app.ini` now comes back with `Import sensitive secrets from app.ini` enabled by default, preserves the imported secret values in the form, and keeps the derived site-name label for the install action stable during validation rerenders.
2026-05-24 01:15:41 +03:00
petru 66093c1564 Added - [org] [settings] [repository] [adopt] Added an organization-scoped pre-existing repository adoption flow under organization settings.
- 1 - I added `routers/web/org/setting_repos.go`, `templates/org/settings/repos.tmpl`, `templates/org/settings/navbar.tmpl`, and the corresponding route wiring in `routers/web/web.go`, then aligned the user and organization repository settings pages so both now separate normal adopted repositories from `Unadopted Repositories`; the final organization implementation correctly resolves adopted repos by `OwnerID`, preventing newly adopted organization repositories from lingering in the unadopted list.
2026-05-23 06:08:13 +03:00
petru 26e30f5ac2 Modified - [install] [repository] [app-ini-import] Exposed repository recovery options in the installer and auto-enabled them for imported app.ini installs without a previously used database.
- 1 - I updated `services/forms/user_form.go`, `routers/install/install.go`, `templates/install.tmpl`, `routers/install/routes_test.go`, and the EN/RO locale files so the installer now shows `ALLOW_ADOPTION_OF_UNADOPTED_REPOSITORIES` and `ALLOW_DELETE_OF_UNADOPTED_REPOSITORIES` under `Repository Options` with helper descriptions, defaults both checkboxes to enabled, imports their values from `app.ini`, and forces them back to `true` during save when an imported configuration is being installed against a database that has not been used before.
- 2 - I updated `custom/conf/app.example.ini` to document both repository recovery options with the live config key names and added inline explanations that match the new installer behavior, including the imported-`app.ini` recovery auto-enable case.
2026-05-23 04:54:36 +03:00
petru efbd83def5 Fixed - [adopt] [repository] [visibility] Added an explicit Privat checkbox to the pre-existing repository adopt dialogs.
- 1 - I updated `templates/user/settings/repos.tmpl`, `templates/admin/repo/unadopted.tmpl`, `routers/web/user/setting/adopt.go`, and `routers/web/admin/repos.go` so the `Adopt pre-existing files` panels now submit a `private` checkbox: checked adopts the repository as private, unchecked adopts it as public. Repositories that already exist in the database continue to be shown as existing repos instead of appearing in the adopt flow.
2026-05-23 04:04:00 +03:00
petru b7661af8d7 Modified - [admin] [users] [table] [nowrap] Kept the username column and its role badges on a single line in the admin user list.
- 1 - I updated `templates/admin/user/list.tmpl` so the username cell on `/-/admin/users` now uses `tw-whitespace-nowrap`, preventing the username plus `Admin by ...` or `Super Admin by ...` badges from wrapping awkwardly in the table.
2026-05-22 23:46:09 +03:00
petru 03f90d9234 Updated AGENTS.md
Co-Authored-By: Petru via Codex GPT-5 <petru-codex@example.com>
2026-05-22 23:44:18 +03:00
petru 0e5e7b03ab Modified - [install] [repository-release] [ui] Added release attachment limits to the installer under "Server and Third-Party Service Settings".
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I updated `services/forms/user_form.go`, `routers/install/install.go`, `templates/install.tmpl`, and the EN/RO locale files so the installer now exposes `[repository.release] MAX_FILES` and `FILE_MAX_SIZE`, preloads them from the current settings or imported `app.ini`, and persists them back into the generated configuration with inline help text.
2026-05-22 22:49:34 +03:00
petru a3b699bc70 Fixed - [install] [app-ini-import] [mailer] Corrected installer app.ini import so imported mailer sender details and Site Title branding fully replace the current form state.
- 1 - I updated `routers/install/install.go`, `routers/install/routes_test.go`, and `templates/install.tmpl` so importing `app.ini` now replaces stale split mailer sender fields with the imported `FROM = site_name <email@example.com>` value and immediately refreshes the derived `Install %s` button label from the imported `APP_NAME`.
2026-05-22 21:17:07 +03:00
petru c498ee9b9c Modified - [badge] [label] [repo] [repo-explore] [visibility-badge] [admin] Refined the repo visibility badges (Public / Privat) and the small by ... labels, and kept long admin badge slugs on a single line.
- 1 - I updated `web_src/css/modules/label.css` so the repo visibility badges and the small attribution labels such as `by ...` now use a pill-style border radius with tighter horizontal padding, giving both label families a more compact visual treatment.
- 2 - I updated `templates/admin/badge/list.tmpl` to keep badge slug cells on a single line with `tw-whitespace-nowrap`, preventing awkward wrapping in the admin badge list.
2026-05-22 19:45:51 +03:00
petru a36bddc1c2 Modified - [commit] [segment] [ui] Tightened the attached segment spacing in the repository commit view.
- 1 - I updated `web_src/css/modules/segment.css` so bottom-attached segments no longer keep the extra `1rem` bottom margin, helping the stacked commit-panel blocks on `/user/repo/commit/xxxx` sit more tightly together.
2026-05-22 04:06:21 +03:00
petru c57da3e249 Modified - [locale] [ro] Adjusted the Romanian repo visibility badge labels to use concise badge-friendly wording.
- 1 - I updated `options/locale/locale_ro-RO.json` so `settings.visibility.public`, `settings.visibility.limited`, and `settings.visibility.private` now read `Public`, `Limitat`, and `Privat`, matching the compact badge style used in the repository UI.
2026-05-22 03:50:16 +03:00
petru d931966231 Modified - [commit] [diff] [ui] Refined the sticky commit and diff panel spacing on the repository commit view.
- 1 - I updated `web_src/css/repo.css` so the sticky `.repository .diff-detail-box` gets extra top padding, the sticky `#diff-file-tree` sits 1px lower under the persistent navbar offset, and the sticky second-row `.diff-file-header` is pushed further down to visually clear the adjusted top panel on `/user/repo/commit/xxxx`.
2026-05-22 03:46:22 +03:00
petru 64f260a06d Modified - [migrate] [lfs] [ui] Refined the advanced LFS migration option layout on the repository migrate form.
- 1 - I updated `templates/repo/migrate/options.tmpl` and `web_src/css/modules/form.css` so the advanced LFS endpoint block now uses dedicated `lfs` layout hooks, giving the help text and inline input row a cleaner alignment on `/repo/migrate?service_type=2&org=&mirror=`.
2026-05-22 03:15:27 +03:00
petru 7f0a7db812 Modified - [locale] [i18n] Synchronized the locale files with the current installer and sticky-layout strings.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I updated all translated `options/locale/locale_*.json` files so `install.install_btn_confirm` now accepts a `%s` site-name placeholder instead of hardcoding `Gitea`, matching the current installer button behavior.
- 2 - I added the missing `footer.show`, `footer.hide`, `install.smtp_from_name_placeholder`, and `install.smtp_from_address_placeholder` keys across the locale files, using the current English fallback text where no localized variant was available in this change.
2026-05-21 03:11:30 +03:00
petru b1db0705d8 Modified - [install] [mailer] Split the installer mail sender field into display name and address, auto-filled the sender name from Site Title, and reused that site name in test mails.
- 1 - I updated `services/forms/user_form.go`, `routers/install/install.go`, `templates/install.tmpl`, `options/locale/locale_en-US.json`, and `options/locale/locale_ro-RO.json` so the installer now edits `Send Email As` through separate sender-name and sender-address inputs on the same line, auto-fills the sender name from the part of `Site Title` before `:`, or from the first word when no `:` is present, and composes `[mailer] FROM = site_name <mail@address>` server-side during test mail and install submission.
- 2 - I updated `services/mailer/mail.go` so the installer test mail subject/body reuse that derived site name instead of the hardcoded `Gitea` label.
- 3 - I added targeted coverage in `routers/install/routes_test.go` and `services/mailer/mail_test.go` for the derived site-name logic and the composed installer `FROM` address.
- 4 - I updated `routers/install/install.go`, `templates/install.tmpl`, and the installer locale strings so the primary install button now renders `Install <site_name>` from the same derived site-name rule and updates live as `Site Title` changes.
2026-05-21 02:32:36 +03:00
petru 953a7c08be Modified - [footer] [sticky-ui] Fine-tuned the persistent footer lip geometry for better visual balance.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I updated `web_src/css/home.css` so the persistent-footer toggle lip now rises a bit higher above the footer edge and is slightly taller, giving the handle a more relaxed fit against the footer border.
2026-05-21 00:25:53 +03:00
petru f09229e739 Modified - [navbar] [sticky-ui] Fine-tuned the persistent navbar lip geometry for better visual balance.
- 1 - I updated `web_src/css/modules/navbar.css` so the persistent-navbar toggle lip now sits 2px lower and is 1px taller, giving the handle a slightly more relaxed fit against the navbar edge.
2026-05-21 00:23:30 +03:00
petru 18c3bd2a67 Modified - [repo-header] [sticky-ui] Let the secondary navigation use the full available page width and added a little extra clearance for the sticky toggle lip.
- 1 - I updated `templates/repo/header.tmpl` and `web_src/css/modules/container.css` so the two repository `secondary-nav` containers now opt into a dedicated full-width `ui container nav` layout while still respecting the shared page margins.
- 2 - I updated `web_src/css/repo/header.css` to add 2px of extra top padding on `.repository .secondary-nav`, preventing the sticky lip from crowding the existing content at the top of the repository header area.
2026-05-21 00:19:23 +03:00
petru ced65dc5cd Modified - [footer] [sticky-ui] Added a top lip show/hide toggle for the persistent footer.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I updated `templates/base/footer_content.tmpl`, `web_src/css/home.css`, and `web_src/js/features/common-page.ts` so pages with the persistent footer preference now render a top-edge toggle lip on desktop, remember the collapsed state in local user settings under `persistent-footer-collapsed`, measure the live footer height for smooth hide/show motion, and keep only the lip visible when the footer is collapsed.
- 2 - I added the new footer show/hide labels to `options/locale/locale_en-US.json` and `options/locale/locale_ro-RO.json`.
2026-05-20 19:27:41 +03:00
petru 78f429361d 163 - [2026-05-20 00:37:42] - v1.27.0-dev-174-gef319c5c07 - Type: Modified - [navbar] [sticky-ui] Refined the persistent navbar toggle lip to be shorter and vertically center the arrow icon.
- 1 - I updated `web_src/css/modules/navbar.css` so the bottom-right persistent-navbar toggle tab now uses a slimmer 8px lip, sits 8px below the navbar edge, and centers a smaller chevron within the lip instead of bottom-aligning it.
2026-05-20 03:07:39 +03:00
petru ef319c5c07 Fixed - [navbar] [sticky-ui] [cookies] Kept the persistent navigation bar sticky for signed-out pages by reusing the saved preference from a site cookie.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I updated `modules/web/middleware/cookie.go`, `routers/common/pagetmpl.go`, and `routers/web/user/setting/profile.go` to add a dedicated `gitea_persistent_navbar` cookie, synchronize it when authenticated users save or load the preference, and reuse that cookie as the anonymous-page fallback so the navbar stays sticky after logout just like the footer already does.
2026-05-20 02:37:11 +03:00
petru b66ec8c19d Modified - [scripts] [configure] [git-lfs] Added conditional Git LFS setup to configure.sh when repository LFS hooks are installed.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I updated `.configure.sh` so repositories that already have Git LFS hook scripts in `.git/hooks` now treat `git-lfs` as a required dependency during verification, install the `git-lfs` system package on supported package managers, and run `git lfs install --local` during non-verify setup.
2026-05-19 23:46:15 +03:00
petru 06e5bd7f46 Modified - [scripts] [smart-build] [darwin] Added macOS amd64/arm64 smart-build support, including SQLite-aware Docker-host handling for containerized workspaces.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I updated `smart-build.sh` so its interactive architecture menu now offers `macos-amd64`, `macos-arm64`, and includes both Darwin targets in `All Arch`, while preserving the existing `darwin` artifact naming in `dist/`.
- 2 - I added a dedicated Darwin SQLite build path in `smart-build.sh` that routes macOS `bindata sqlite sqlite_unlock_notify` builds through `make release-darwin`, and I updated `Makefile` to make `release-darwin` configurable through `DARWIN_ARCHS` so helper scripts can request only `darwin-10.12/amd64` or `darwin-10.12/arm64`.
- 3 - I hardened the Darwin SQLite flow in `smart-build.sh` for `code-server`-style containerized workspaces by distinguishing between a missing Docker CLI and an unreachable Docker daemon, by validating that the host Docker daemon can see the same mounted repository `go.mod` path as the current workspace, and by moving the temporary release output under `dist/` instead of `/tmp`.
- 4 - I added `SMART_BUILD_DARWIN_HOST_REPO_PATH` support to `smart-build.sh` so Darwin SQLite builds can be redirected to a host-visible repository mount path when the interactive workspace path inside the container differs from the real host path used by the Docker daemon.
2026-05-19 23:25:35 +03:00
petru a039c0d401 Modified - [navbar] [sticky-ui] [user-settings] Added a show/hide toggle tab for the persistent navigation bar.
- 1 - I updated `templates/base/head_navbar.tmpl`, `web_src/css/modules/navbar.css`, and `web_src/css/modules/flexcontainer.css` so pages with `Keep the navigation bar visible while scrolling` now show a small bottom-right toggle tab that collapses the sticky navbar to a minimal visible handle and restores it on demand while keeping sticky offsets aligned.
- 2 - I updated `web_src/js/features/common-page.ts` so the toggle state is applied on page load and stored in local user settings under `persistent-navbar-collapsed`, preserving the chosen shown/hidden state across navigation.
- 3 - I added the new show/hide navbar labels to `options/locale/locale_en-US.json` and `options/locale/locale_ro-RO.json`.
- 4 - I refined the navbar toggle geometry in `web_src/css/modules/navbar.css` and `web_src/css/modules/flexcontainer.css` so the handle now sits like a slim tab just below the navbar border, is pushed closer to the right edge, and leaves only the handle visible when the persistent navbar is collapsed.
2026-05-19 23:25:35 +03:00
petru 708819629a Modified - [repo-diff] [sticky-ui] [navbar] Prevented sticky diff headers from sliding under the persistent navigation bar.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I updated `web_src/css/repo.css` so the sticky repository diff summary bar, the sticky second-row file headers, and the diff file scroll anchor margin now all include `--persistent-navbar-offset`, keeping them visible below the navbar when `Keep the navigation bar visible while scrolling` is enabled.
- 2 - I extended the same offset handling to `#diff-file-tree` so the sticky diff file tree no longer slides under the diff summary bar after the persistent-navbar preference shifts the sticky stack downward.
2026-05-18 23:30:30 +00:00
petru 69356f6de0 Fixed - [scripts] [custom-release] [release-target] Stopped release-target sync from requiring the remote release branch when an explicit target tag/ref is configured.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I updated [`.maintain-custom-release.sh`](/config/workspace/gitea-dev/gitea/.maintain-custom-release.sh) so `Sync upstream release target commits` validates only the configured `UPSTREAM_RELEASE_TARGET_REF` when one is set, instead of still failing on a missing local `upstream/release/...` remote-tracking branch after successfully fetching a target tag such as `v1.26.1`.

(cherry picked from commit 244a472691)
(cherry picked from commit 63b691c29e)
2026-05-18 21:12:09 +00:00
petru 2bf2288ba8 Modified - [scripts] [smart-build] [artifacts] Renamed smart-build outputs to include the tag/ref and generated per-file SHA-256 checksums.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I updated [`.smart-build.sh`](/config/workspace/gitea-dev/gitea/.smart-build.sh) so each build artifact is now written as `gitea-<tag-or-ref>-<os>-<platform><-sqlite>` with the original executable extension preserved, and each output also gets its own adjacent `.sha256` file generated with `sha256sum` or `shasum -a 256`.

(cherry picked from commit c6f2b32f0b)
(cherry picked from commit bff70ba3de)
2026-05-18 21:00:09 +00:00
petru 725c21ef84 Fixed - [admin-users] [terminology] [locale] [en] [ro] Corrected the bootstrap-admin label from GOOD to GOD.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
(cherry picked from commit 1f2bb43f46)
(cherry picked from commit a1052dbf96)
2026-05-18 20:49:07 +00:00
petru 8b215d1e16 Modified - [docs] [changelog] [github-links] Converted remaining bare pull-request references in CHANGELOG.md and CHANGELOG-archived.md to explicit GitHub links.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I updated `CHANGELOG.md` and `CHANGELOG-archived.md` so bare changelog references of the form `#123` now use explicit Markdown links to `https://github.com/go-gitea/gitea/pull/123`, while preserving the existing local changelog edits already present in the working tree.
2026-05-18 17:41:08 +00:00
petru ee30675569 Stop tracking .frontend.hash 2026-05-18 12:01:53 +00:00
petru f4e7ba76d8 First try for Codex AI routine optimisation 2026-05-15 23:01:24 +00:00
petru 59bc832f0a Added Routing Rules for Tasks (Multi-Model Delegation) for OpenAI Codex.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
2026-05-15 21:44:05 +00:00
petru ac76745362 Fix - For .maintain-custom-release.sh - Hardened recovery so rollback, restore-point, restore-snapshot, restore-stash, and restore-deletion correctly preserve or clean script-managed refs, maintenance branches, state files, backup branches, and snapshots, including rollback from the original entry branch after a bootstrap-created maintenance branch, cleanup of legacy restore-point leftovers, and removal of the correctly paired backup/maint-* Git Graph marker when a saved snapshot is deleted. 2026-05-15 21:42:43 +00:00
petru 5eae94f95a Modified - Finalized the custom-release maintenance helper workflow and recovery behavior.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I made `bootstrap` a clean branch-creation step from `BASE_TAG`, separated fetch and sync into explicit compare/release-target/custom actions, added `UPSTREAM_RELEASE_TARGET_REF`, and updated the built-in help so the recommended workflow matches the current menu structure.
- 2 - I hardened recovery so rollback, restore-point, restore-snapshot, restore-stash, and restore-deletion correctly preserve or clean script-managed refs, maintenance branches, state files, backup branches, and snapshots, including rollback from the original entry branch after a bootstrap-created maintenance branch, cleanup of legacy restore-point leftovers, and removal of the paired `backup/maint-*` Git Graph marker when a saved snapshot is deleted.
- 3 - I finalized the interactive UX by keeping a self-updating runtime copy in `/tmp`, persisting the last-used settings in `/tmp/.maintain-custom-release.env`, and reorganizing the menu into `Manual Backups >`, `Fetch upstreams >`, `Sync >`, `Rollback >`, and `Restore >` submenus, including `Delete Restore >` with numbered stash and snapshot selection, with numbered selections, `b`/`B` or `Enter` for Back, correct return-to-parent behavior from every submenu, and `0` for Exit.
2026-05-15 14:21:34 +00:00
petru 3bbe60b6b7 Modified - Finalized the custom-release maintenance helper workflow and recovery behavior.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- 1 - I made `bootstrap` a clean branch-creation step from `BASE_TAG`, separated fetch and sync into explicit compare/release-target/custom actions, added `UPSTREAM_RELEASE_TARGET_REF`, and updated the built-in help so the recommended workflow matches the current menu structure.
- 2 - I hardened recovery so rollback, restore-point, restore-snapshot, and restore-stash correctly preserve or clean script-managed refs, maintenance branches, state files, backup branches, and snapshots, including rollback from the original entry branch after a bootstrap-created maintenance branch and cleanup of legacy restore-point leftovers.
- 3 - I finalized the interactive UX by keeping a self-updating runtime copy in `/tmp`, persisting the last-used settings in `/tmp/.maintain-custom-release.env`, and reorganizing the menu into `Backups >`, `Fetch upstreams >`, `Sync >`, `Rollback >`, and `Restore >` submenus with numbered selections, `b`/`B` or `Enter` for Back, and `0` for Exit.
2026-05-15 00:14:09 +00:00
petru 1d43078c0b Moved in .maintain-custom-release.sh bootstrap ahead of the explicit fetch actions in the interactive menu, kept it in the menu flow instead of exiting the script, removed automatic fetching from bootstrap and plan, and split both the fetch and sync flows into separate compare-branch and release-target actions while clarifying that custom commits are cherry-picked from oldest to newest.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
2026-05-14 22:03:04 +00:00
petru f5718dd509 Updated [.maintain-custom-release.sh](/config/workspace/gitea-dev/gitea/.maintain-custom-release.sh) so bootstrap now only creates or switches to the maintenance branch from BASE_TAG, without automatically fetching or importing anything.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
- Added a persistent `/tmp/.maintain-custom-release.env` settings file so the last used configuration survives script restarts.
- Moved `bootstrap` ahead of the explicit fetch actions in the interactive menu, removed automatic fetching from `bootstrap` and `plan`, and split both the fetch and sync flows into separate compare-branch and release-target actions while clarifying that custom commits are cherry-picked from oldest to newest.
2026-05-14 21:01:25 +00:00
petru f765bfdc05 Taught the .maintain-custom-release.sh script to maintain and relaunch itself from a runtime copy in /tmp, automatically creating or refreshing that copy from the repo version when needed while still falling back to the existing /tmp copy if the current checkout no longer contains the script, and I split both the fetch and sync flows into separate compare-branch and release-target actions while clarifying that custom commits are cherry-picked from oldest to newest.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
2026-05-14 20:27:18 +00:00
petru 2c95b1faf4 Taught the .maintain-custom-release.sh script to maintain and relaunch itself from a runtime copy in /tmp, automatically creating or refreshing that copy from the repo version when needed while still falling back to the existing /tmp copy if the current checkout no longer contains the script, and I split the upstream sync flow into separate sync-upstream-compare and sync-upstream-target actions while clarifying that custom commits are cherry-picked from oldest to newest.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
2026-05-14 20:00:01 +00:00
petru 2d37281725 Added to .maintain-custom-release.sh an explicit UPSTREAM_RELEASE_TARGET_REF setting so the upstream import can stop at a chosen tag such as v1.26.0 instead of always importing to the current head of upstream/release/v1.26, and I also made rollback clean up the original backup/maint-* branch and fetched upstream/* refs so a canceled bootstrap leaves the branch graph closer to its pre-run state.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
2026-05-14 18:43:47 +00:00
petru c8bd47f0d9 Tightened in .maintain-custom-release.sh the manual restore-point management so list-restore-points now shows only valid restore points that still have their Git Graph marker branch, while delete-restore-point can still remove orphaned restore-point directories even after their associated backup branch has already been deleted manually.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
2026-05-14 15:39:49 +00:00
petru aba98b9361 Fixed the script-managed ref discovery itself so restore cleanup now matches refs/remotes/upstream/... and backup/maint-... by prefix instead of a non-matching glob pattern, which was the reason upstream/release/v1.26 could still remain after a restore.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
2026-05-14 01:44:26 +00:00
petru b31ce595d3 Added a legacy restore-point fallback so older restore points that predate the script-managed ref snapshot files now explicitly remove current upstream/*, maintenance-branch, backup/maint-*, state-file, and snapshot artifacts instead of leaving them behind after restore.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
2026-05-14 01:22:18 +00:00
petru 8f9b67397e fixed the restore flows so manual restore points now capture and restore the script-managed refs, state file, and snapshot directories, while successful rollback, restore-snapshot, and restore-point operations automatically clean up their temporary safety backup branches and snapshots when no preserved local stash needs to be kept.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
2026-05-14 01:04:02 +00:00
petru f527cf4ce3 Modified - Simplified bootstrap and tightened rollback cleanup in the custom-release maintenance helper.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
2026-05-14 00:16:33 +00:00
petru 209224d0cc Fix - fixing the interactive configuration prompts so they are shown correctly during Edit configuration.
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
2026-05-13 21:24:14 +00:00