Skip to main content

What Is a Repository on Entire?

A repository that is hosted on Entire lives on Entire’s Git network with no GitHub origin, so you can push and pull through a region close to where you work: the US, the EU, the UK, India, Australia, or Brazil. It has a primary region and can have regional mirrors in other Entire regions.
There are two kinds of mirrors:
  • GitHub repository mirrors are copies of a GitHub repository hosted on Entire. GitHub stays the origin while Entire serves clones and pulls, but forwards pushes to GitHub, so pushes depend on GitHub’s speed and availability. See Mirrors.
  • Regional mirrors of a repository hosted on Entire are copies hosted in regions of your choice within Entire’s Git network. They serve clones and pulls locally and forward pushes to the repository’s primary region on Entire. Both reads and writes stay within Entire, with no GitHub origin involved.
This guide covers is about repositories hosted on Entire and their regional mirrors.

How Are Repositories Hosted on Entire Helpful?

Repositories help you:
  • Keep working when GitHub is down. Since your code lives on Entire, your agents can clone, pull, and push without GitHub.
  • Have faster read access for your agents. Since agents pull and push a lot more than humans, repositories make the development lifecycle faster by being geographically close to you and your agents.
  • Work from a single remote. You can push to and pull from the same Entire remote. If you use a regional mirror of your repository that is hosted on Entire, it serves reads locally and forwards pushes to the primary region within Entire.

Create a Repository

You can create a repository from the CLI, on entire.com, or by asking your coding agent to do it.
Before you start, install the Entire CLI and log in with entire login.

1. Create a Project

A project holds your repositories. Choose an available project name and specify its owner. This example uses readme; replace it with your project name throughout the commands and replace nodo with your organization’s name:
Example output:
If you already have a project, use its name in the next step. See the project command reference for other ownership options.

2. Create a Repository

Create a repository named documentation in your project:
Example output:
By default, Entire creates the repository in the project’s region. In this example, the primary region is aws-us-east-2.

3. Check the Repository’s Regions

Inspect the repository to see its regions, clone URLs, and status:
Example output:
At this point, the repository is available in one region, marked primary. You can clone, pull, and push without adding a mirror.

4. Add a Mirror in Another Region (Optional)

You can add a mirror of your repository to serve clones and pulls from another region within Entire’s Git network.For this example, if you select eu-central, this is how you add a mirror of the repository that is hosted on Entire in another region:
A regional mirror of a repository hosted on Entire goes in a region other than its primary region, so only those regions are offered. On a terminal Entire shows them as a multi-select, without one, name the region yourself, because --cluster has no default for a repistory:
Example output:
The repository now spans two Entire regions: a primary in aws-us-east-2 and a regional mirror in aws-eu-central-1. Clones and pulls from the regional mirror are served in aws-eu-central-1, pushes through it are forwarded to aws-us-east-2.

Convert a GitHub Mirror to a Repository on Entire

Detach an existing GitHub mirror to make Entire your repository’s canonical Git source. Detaching preserves the repository’s identity, branches, tags, and existing trails and discussions. The GitHub repository stays live but is no longer synced with Entire.

Before You Start

Make sure these requirements are met:
  • The Entire GitHub App is installed.
  • The repository has exactly one mirror placement, including suspended mirrors. Delete any extra placements before detaching.
  • The target project’s primary processing cell matches the remaining placement’s cell.
  • You hold mirror_source_admin on the repository group. manage_settings alone is insufficient.
  • You are a GitHub admin of the source repository. Entire verifies this directly with GitHub using the installation token.
  • You are an admin of the target project.
  • The repository name is available in the target project.
  • No mirror removal is pending or in progress for the placement.
  • The initial import from GitHub is complete.
The target Entire project controls who has member access to the native repository after detaching. Access through GitHub and grants on the mirror are removed. Add everyone who still needs access to the target project before detaching.

Detach from GitHub

Detaching takes about one minute. Writes are temporarily frozen while Entire converts the repository. Wait for the detach to finish before pushing changes.
  1. Open the repository on entire.com.
  2. Go to Settings, then General.
  3. Scroll down to Detach from GitHub.
  4. Enter the repository name to confirm, then click Detach.

After Detaching

Consider archiving the original GitHub repository to avoid confusion about where to push changes. Entire is now the canonical Git source, and changes made on GitHub are no longer synced to Entire.