Skip to content
Tech News
← Back to articles

Show HN: DriveSync – fast Git-styled Google Drive sync CLI

read original get Samsung T7 Portable SSD → more articles
Why This Matters

DriveSync is an open-source Rust CLI that brings familiar Git-style commands (init, diff, push, pull) to Google Drive syncing, offering a scriptable alternative to Google's own desktop clients — notably useful on Linux, where Google ships no official Drive app. Because it requires users to supply their own Google Cloud OAuth client, no credentials are embedded in the binary, giving developers more control over access.

Key Takeaways
Worth a Look

Samsung T7 Portable SSD — If you're syncing a local folder against Google Drive with a tool like DriveSync, a fast external SSD makes a great home for that mirrored directory. The Samsung T7 is pocket-sized, USB-C, and quick enough that push/pull operations aren't waiting on disk. It's an easy way to keep a portable, local copy of your cloud backups.

See Samsung T7 Portable SSD on Amazon → Affiliate link — we may earn a commission on purchases, at no extra cost to you. Product picked by AI based on this article; it is not a tested recommendation.

DriveSync ( dsync )

A small, fast command-line tool that keeps a local folder and a Google Drive folder in sync. Push local changes up, pull remote changes down, or just see what differs. Written in Rust, modelled on odeke-em/drive.

dsync init ~/gdrive --remote-folder backups/lab --credentials ~/Downloads/client_secret.json cd ~/gdrive dsync diff # what differs? dsync push # upload local changes (shows the plan, asks first) dsync pull # download remote changes

Install

Homebrew (macOS and Linux):

brew install scaleninja/tap/drivesync

This adds the scaleninja/tap tap, so other scaleninja tools then install with a plain brew install <name> . (If Homebrew refuses with an "untrusted tap" error, run brew trust scaleninja/tap first.)

Or grab a prebuilt binary for Linux or macOS (x86_64 and arm64) from the releases page:

case " $( uname -s ) - $( uname -m ) " in Linux-x86_64) asset=linux-x86_64 ;; Linux-aarch64) asset=linux-arm64 ;; Darwin-x86_64) asset=macos-x86_64 ;; Darwin-arm64) asset=macos-arm64 ;; * ) echo " unsupported platform " ; exit 1 ;; esac curl -fL -o /tmp/dsync " https://github.com/scaleninja/drivesync/releases/latest/download/dsync- $asset " \ && chmod 755 /tmp/dsync && sudo mv /tmp/dsync /usr/local/bin/dsync

Or from source with a Rust toolchain: git clone https://github.com/scaleninja/drivesync && cd drivesync && make install .

... continue reading