apache / apache/magpie

feat(tools/perforce): Perforce / Helix Core (centralized VCS) support

Open
#605 1 comment 0 reactions 0 assignees View on GitHub
capability:platform enhancement family:tools good first issue source control system
Dominant language
Python
Stars
92
Forks
92
Avg merge
1d 12h
Merged PRs (30d)
104

Description

Add `tools/perforce/` for **Perforce / Helix Core** (`p4`), the dominant **centralized** VCS in games, film/VFX, semiconductor, and large-binary monorepo shops. Unlike every other bridge so far, Perforce is server-centric: changelists instead of local commits, explicit `p4 edit` checkout-before-write, and depot paths instead of branches. The dev-loop skills' distributed-Git assumptions don't map cleanly, so this bridge mostly defines how the fix-workflow behaves in a centralized model.

**Capabilities to provide:**

- Changelist workflow: `p4 edit` / `p4 diff` / `p4 submit` / `p4 describe`, shelving for review hand-off
- History read: `p4 changes`, `p4 annotate`, file-at-revision
- Swarm integration (optional): Helix Swarm reviews as the PR/MR analogue for `pr-management-*`
- Reuse the VCS-capability shim; document the distributed-vs-centralized divergences explicitly

**Why:** Perforce is the standard in domains GitHub never displaced — AAA game studios, Hollywood pipelines, chip design (EDA), and any org versioning huge binary assets. These are real enterprise adopter candidates that a Git-only framework simply cannot serve. Capturing the centralized model now also keeps the VCS abstraction honest (it can't quietly assume distributed semantics).

**Reference:**

- Helix Core / p4: https://www.perforce.com/products/helix-core
- Helix Swarm (code review): https://www.perforce.com/products/helix-swarm
- Depends on the VCS abstraction from the Mercurial bridge issue

Contributor guide

Open the contributing guide

Research direction

Start with the VCS-capability shim and the VCS abstraction from the Mercurial bridge issue, then review the requested tools/perforce/ entry point. Map the changelist, history, shelving, and optional Helix Swarm workflows, including their differences from distributed Git. Done means the Perforce bridge documents and supports the listed capabilities without assuming local commits or branches.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.