Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Mirror to a git host

Run Grovedock beside GitHub, GitLab or Bitbucket instead of replacing them. pando mirror keeps a git repository current with a branch, so CI, code search, issue links and anything else attached to your git host keep working while agents land in Grovedock:

pando mirror --to git@github.com:acme/fleet.git --every 5        # runs until stopped
pando mirror --to https://bitbucket.org/acme/fleet.git           # once, for cron or CI
  • Every landed change becomes one git commit with its author, message and date. The same history always makes the same commits, so a mirror can be rebuilt from scratch at any time.
  • It is incremental: each round pushes only what landed since the last one.
  • It never force-pushes. If the destination branch has commits the mirror did not make, it stops and says so; protect the branch on your git host so only the mirror writes to it.
  • Credentials are git’s own: an SSH key, or a credential helper or deploy token. Tokens in the URL are never printed.
  • The local copy lives in your cache directory (--dir to choose).

Options

OptionDefaultMeaning
--to URL(required)where to push: any URL git accepts
--server URL$PANDO_SERVER, or the workspace’s serverthe Grovedock server, with /OWNER/NAME on a server that hosts many repositories
--rev REVmainthe Grovedock branch to mirror
--git-ref REFmainthe branch to update on the git host
--every SECONDSoncemirror again every SECONDS until interrupted
--dir DIRyour cache directorythe mirror’s local bare git repository

Rolling back

Stopping the mirror is the whole rollback: the git host has every change that landed in Grovedock, as ordinary commits, and people can go back to pushing there. To move a repository the other way, from a git host into Grovedock with its pull requests and issues, see Migrate from GitHub.