Repeating the Process (The Easy Part)
Installing a shell script, creating a Mirror Set, and unpacking bundles may sound like a lot of effort just to mirror a Git repository. It is.
The goal of git-teleport is to make the update process easy, efficient, and repeatable. With git-teleport, preparing and ingesting updates takes a matter of minutes. Use it weekly—or even daily—to accelerate your development process.
Send Bundles
You must have the Mirror Set Git repository for your intended destination.
Obtain the Mirror Set for your destination. If the Mirror Set is shared, update it.
cd mirror/set/location
git pull
If you need to add or remove a repository from the mirrors, edit the Beamdownfile. Otherwise, just pack the bundles:
git teleport pack
Send the contents of the bundles/latest directory to the receiving system.
When you are finished, push the Mirror Set repository if it is shared.
git push
By pushing to the Mirror Set, you are assuming responsibility for delivering the bundles. Transmit them promptly.
Receive Bundles
You must know the URL prefix to your Receive Mirrors for this sender.
Unarchive the bundle files if necessary. Change directory to them and run unpack.
cd unpacked/bundles
git teleport unpack /net/git/mirrors/intranet
Replace /net/git/mirrors/intranet with the prefix path or URL to your Receive Mirrors. If you keep your mirrors on a smart repository host, your unpack command might look something like:
git teleport unpack https://mygitlab/git/mirror/intranet
If the sender has added new repositories, this command will fail. Read the error message, identify the new repositories, and create mirrors for them. Then run the unpack command again.
Next Steps?
There are no next steps. You're finished!
If something went wrong, see "Troubleshooting."