Skip to main content

Git remote helper for rclone-supported services

Project description

Git remote helper for rclone-supported services

GitHub release PyPI version fury.io

This is a Git remote helper for backends supported by rclone. In other words, this helper makes it possible to push and pull to a large number of storage services with no native Git support.

Usage

Visit the rclone website and follow the instructions for installation of rclone, and configuration of access to the desired service(s). Install this package via pip (pip install git-remote-rclone), or place the git-remote-rclone executable provided here into the system path, such that Git can find it. Now it is possible to use URLs like rclone://<remote>/<path-on-remote> as push and pull URLs for Git.

For example, if access to a DropBox account has been configured as an rclone-remote named mydropbox, the URL rclone://mydropbox/myrepository identifies a remote in a directory myrepository/ under this DropBox account.

Technical details

At the remote end, git-remote-rclone maintains a directory with two files:

  • refs: a small text file listing the refs provided by the remote
  • repo-<SHA>.tar.gz: an archive of a bare Git repository

When interacting with a remote, git-remote-rclone obtains and extracts a copy of the remote repository archive (placed at .git/rclone/<remote-name> in the local Git repository). All Git operations are performed locally. Whenever the state of the mirror repository has changed, it is compacted to minimize transfer size and uploaded to the remote storage service. Likewise, the remote storage service is checked for updates before the local mirror repository is updated.

git-remote-rclone aims to minimize API usage of remote storage services. Per invocation, it only queries for the state of a remote repository archive (checksum), downloads two files (if needed), and uploads two files (if needed, and on push only).

Tested with

  • rclone 1.63.1
  • Google Drive
  • Onedrive
  • DropBox

Acknowledgements

This work is based on datalad/git-remote-rclone. This work changes the design for compatibility with rclone backends like crypt that do not support file hashes.

Project details


Release history Release notifications | RSS feed

This version

0.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

git_remote_rclone_reds-0.2.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

git_remote_rclone_reds-0.2-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file git_remote_rclone_reds-0.2.tar.gz.

File metadata

  • Download URL: git_remote_rclone_reds-0.2.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for git_remote_rclone_reds-0.2.tar.gz
Algorithm Hash digest
SHA256 77d708dc422af015517492ae08fb0d7162deaf88814afe07f25d4ca39408f068
MD5 3214e9b69586e6a913eb955897ca02cd
BLAKE2b-256 95697b5db265ab09f77ab5e79194bbea159049f72c04b6445d36e130fb46bdac

See more details on using hashes here.

File details

Details for the file git_remote_rclone_reds-0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for git_remote_rclone_reds-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 86d0a8926ec80491812f47ed76ef3daffd0571d7b09be9a4785aec74ed9a8e26
MD5 06eaefc06650cef1d384b8cb48d36e41
BLAKE2b-256 3618f8b5eceefc6efb859a8985650ac389deefac538533e0032e41a501c2e2a4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page