Files
ForgeFlow/docs/RELEASE_NOTES_0.3.2.md
T
2026-07-24 20:29:23 +02:00

73 lines
2.4 KiB
Markdown

# ForgeFlow 0.3.2 release notes
## Automatic clone destinations
The normal **Clone from Gitea** action no longer opens a Windows folder picker
for every repository. ForgeFlow now:
1. uses the first configured project root as the default;
2. derives a safe folder name from the repository clone URL;
3. creates `<project-root>/<repository-name>`;
4. clones into that folder;
5. validates the resulting Git repository;
6. saves the repository mapping;
7. starts monitoring the working tree;
8. opens the linked repository in ForgeFlow.
Example:
```text
Default project root: C:\Users\Jens\Projects
Gitea repository: Jens/Portfolio
Automatic target: C:\Users\Jens\Projects\Portfolio
```
A separate **Choose another location** action remains available for exceptional
cases. That choice selects a parent project root; ForgeFlow still creates the
repository-named subfolder itself.
## Existing-folder safety
The clone backend now inspects the automatic target before running Git:
- a missing target is created through `git clone`;
- an existing empty directory is accepted;
- an existing Git checkout with the same normalized origin is linked;
- a different Git repository is blocked;
- an ordinary non-empty directory is blocked;
- a file at the target path is blocked.
ForgeFlow never silently overwrites a conflicting folder and does not create a
duplicated `Repository\Repository` directory.
## Security and consistency
The renderer no longer supplies a free-form remote URL or clone destination to
the privileged Git operation. It sends the Gitea repository identity and a
location mode. The main process then:
- resolves the current repository again from Gitea;
- selects the configured root or a native-dialog result;
- calculates the destination itself;
- performs conflict checks;
- clones or reuses the checkout;
- persists the mapping atomically.
Clone diagnostics contain repository identity, target, branch and commit state,
but no Gitea token or authorization header.
## Validation
Version 0.3.2 contains 45 passing automated tests. New coverage includes:
- HTTPS and SSH repository folder-name derivation;
- automatic target construction;
- missing and empty target handling;
- same-origin checkout reuse;
- different-repository rejection;
- non-empty ordinary-folder rejection;
- file-at-target rejection.
Existing Git, deployment, diagnostics, redaction, rollback and Windows doctor
tests continue to pass.