# Branches and point-in-time recovery

> Status: Coming. Copy-on-write branches and restore to an exact transaction are planned. Neither is available today.

> **Coming.** Nothing on this page is available in pre-beta. Today a backup is one whole image, and a restore creates a new database. See [backups and restore](https://gauntlet-db.stavros.xyz/docs/operations/backups.md).

## What is planned

| Feature | Plan item | What it will do |
|---|---|---|
| Fork by copy | P10.16 | Create a new database from a copy of another. Not instant: the data is copied |
| Copy-on-write branches | P6.8 | Fork with no data copied |
| Restore to a transaction ID | P10.17 | Restore to an exact transaction, one cut across all shards, into a new identity |
| Schema-only branches | P10.39 | A new database with the parent's schema and no data |

## Why they wait

Branches and point-in-time restore both need Gauntlet to keep objects "back to here". That depends on storage reclamation being switched on and stable first, and reclamation is off in pre-beta. So these features are built after it, not before.

## What will not be promised

- **No automatic data merge.** Merging two SQL databases is an application problem. The pattern is: fork, let the work run, then keep the child or drop it.
- **No wall-clock exactness.** The exact cut is a transaction ID. A wall-clock time is a way to find one, with the resolved ID shown before you confirm.
- **No in-place restore.** A restore always creates a new database with a new ID and a new token.

---
Source: https://gauntlet-db.stavros.xyz/docs/concepts/branches-and-recovery
