wip
This commit is contained in:
+7
-5
@@ -124,7 +124,7 @@ Current PR creation (`RepoStore::open_pull_request`, `crates/signed_state/src/re
|
||||
| Draft on create | no | optional 1633 status (P1) |
|
||||
| Merge provenance | plain 1631 | `merge-commit`/`applied-as-commits` (P4) |
|
||||
|
||||
### Phase 1 — Correctness & interop (small, surgical)
|
||||
### Phase 1 — Correctness & interop (small, surgical) ✅ implemented
|
||||
|
||||
1. **Compute and publish `merge-base`, `branch-name`, `r` EUC** in `open_pull_request`:
|
||||
- Target tip = `RepoStore.head` ref from the state announcement (`refs`/`head`, `crates/signed_state/src/repo.rs:28-30`); add `signed_git::merge_base(repo, a, b)` (shell out like `apply_patch`).
|
||||
@@ -134,6 +134,8 @@ Current PR creation (`RepoStore::open_pull_request`, `crates/signed_state/src/re
|
||||
3. **Fix `latest_update`** (`crates/workspace/src/views/repo_detail/pull_request_detail.rs:1125`): filter by the root PR's author (nak and ngit both restrict tip updates to the PR author).
|
||||
4. **Draft toggle** in the new-PR dialog: publish a 1633 status right after the PR event (reuse `set_status`).
|
||||
|
||||
**Status:** items 1 (partial — `branch-name` + `r` EUC done; `merge-base` remains `None` because the paste-based flow has no access to the author's git objects to compute a merge base; it becomes computable in Phase 2 when the patch is generated from a local checkout), 2, 3, 4 are implemented.
|
||||
|
||||
### Phase 2 — UX: replace the paste
|
||||
|
||||
5. **Local-repo picker** replaces the paste textarea (keep it as an advanced fallback): user picks a git checkout (or the app's `GitCache` mirror), source branch and target branch. The app then:
|
||||
@@ -154,10 +156,10 @@ Current PR creation (`RepoStore::open_pull_request`, `crates/signed_state/src/re
|
||||
|
||||
### Checklist
|
||||
|
||||
- [ ] P1: merge-base + branch-name + `r` EUC on creation.
|
||||
- [ ] P1: `update_pull_request` (1619) + UI button; author check.
|
||||
- [ ] P1: `latest_update` author filter.
|
||||
- [ ] P1: draft toggle on create.
|
||||
- [x] P1: merge-base + branch-name + `r` EUC on creation (merge-base deferred to P2 — not computable from a pasted patch).
|
||||
- [x] P1: `update_pull_request` (1619) + UI button; author check.
|
||||
- [x] P1: `latest_update` author filter.
|
||||
- [x] P1: draft toggle on create.
|
||||
- [ ] P2: local checkout picker + generated patch + pre-publish apply check.
|
||||
- [ ] P3: push tip to grasp, truthful `clone` tags, size-aware series.
|
||||
- [ ] P4: merge status tags.
|
||||
|
||||
Reference in New Issue
Block a user