OneEnv

Branching and staged changes

A Git-style branch for configuration, minus the merge-conflict markers.

By the OneEnv team · Last updated

What it is

Instead of applying an edit to a master, OneEnv records it as a staged change on a branch. The record keeps the value before and after the edit. The master is untouched until the branch is reviewed and merged.

Why it matters

It lets related edits (a new host, a renamed route, a new column) be reviewed together, makes concurrent edits detectable, and leaves a permanent record: a merged branch with its changes is the version history.

Lifecycle

  • Draft: you can stage, rebase, submit or discard.
  • Submitted: waiting for an Owner or Admin decision.
  • Merged: applied. A merged branch can be reverted into a new draft branch.
  • Rejected: nothing was applied. Start a new branch to rework.

Step by step

  1. Use the branch selector in the top bar and choose New branch. Enter a name and an optional description. The branch records the workspace version it started from.
  2. Make governed edits while the branch is selected. A later edit to the same item on the same branch replaces the earlier one.
  3. Open Branches, open your branch, check the staged changes, and choose Submit for review. A branch with no staged changes cannot be submitted.
  4. If someone changed the same item after your branch began, you will see MERGE_CONFLICT. Choose Rebase to re-read the current values, then submit again.
  5. To abandon a draft, choose Discard. This cannot be undone.

Conflict detection

For each staged change, OneEnv compares the recorded 'before' value with the item's current value at submit and at merge. A difference means something else changed it in the meantime and merging is blocked until you rebase. Creating something new never conflicts.

Revert

An Owner or Admin can revert a merged branch. This creates a new draft branch with before and after swapped for each update change, which then goes through the normal review. Creations and deletions are skipped and reported, not silently mishandled.

Limitations

  • There are no comments or 'request changes' on a branch. Reject and rework on a new branch.
  • A reviewer approves or rejects the whole branch, not parts of it.