TrylleDocs
GitHub

Repository Mirrors

Import public GitHub repositories as scheduled, read-only replicas on Trylle.

A public mirror copies a public GitHub repository into Trylle and refreshes its Git data on a schedule. The Trylle repository is read-only: GitHub remains the source of truth.

A mirror is not GitHub Sync

You cannot push to a public mirror or enable writable synchronization on it. Choose GitHub Sync when contributors need to work from both platforms.

Create a mirror

Choose Public mirror

In the Trylle dashboard, open Migrate, select GitHub, and choose Public mirror.

Choose single or bulk import

Use Single import for one repository and an optional custom Trylle name. Use Bulk import to paste several sources; bulk imports keep each source repository's name.

Enter public sources

Enter one source per line, or separate them with commas. Trylle accepts owner/repository, an HTTP or HTTPS GitHub URL, and URLs ending in .git.

trylle-labs/example
https://github.com/owner/another-repository.git

Configure the destination

Choose the Trylle user or organization, visibility, refresh schedule, and any optional data to import. Review the summary and select Start import.

Source parsing and bulk imports

Public source input accepts newline- or comma-separated entries. Equivalent repository names are deduplicated case-insensitively, so entries such as Owner/Repo and owner/repo produce one import item.

For a single source, you may choose a different target repository name. For two or more sources, Trylle uses the source names. Each item is tracked separately, so one failed repository does not hide the result of the rest of the batch.

Refresh schedule

Dashboard optionInterval
Every 8 hours8h
Every day24h
Every 3 days72h
Every week168h

The default is every day. Mirror intervals shorter than eight hours are not accepted. Refreshes pull new Git refs from GitHub into Trylle; they never push Trylle-side changes to GitHub.

Visibility

The destination can:

  • match the source visibility;
  • be forced private; or
  • be forced public.

Because this flow accepts only public GitHub repositories, matching the source normally creates a public Trylle mirror. Selecting private visibility is useful when the replica should be visible only to the chosen Trylle account or organization.

Optional imported data

Public mirror setup can also request:

  • labels;
  • issues;
  • pull requests;
  • Git LFS objects.

These options are off by default in the public mirror flow. Enable only the data you need, particularly for large repositories. The scheduled pull mirror is responsible for Git data; do not treat imported issues and pull requests as a continuing two-way collaboration channel.

Track progress and retry failures

The status step reports each repository independently. Import state is durable, so queued or running work can be recovered after a service restart.

If an item fails, review its message and retry that item from the import status view. Common corrective actions include:

  • fixing an invalid or inaccessible source URL;
  • choosing a different destination name when a repository already exists;
  • retrying after a temporary GitHub or storage failure.

Retries preserve the batch and target ownership information. Trylle refuses to overwrite a different repository that has taken the target name since the failed attempt.

Working with the result

Use the mirror for code browsing, search, or keeping a public project visible on Trylle. Continue making repository changes on GitHub. If the project later needs writable development on Trylle, create a normal repository through GitHub Sync rather than trying to convert the public mirror.

On this page