Atom package to sync files bidirectionally between remote host and local over ssh+rsync
CoffeeScript CSS
Pull request Compare This branch is 28 commits behind dingjie:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
keymaps
lib
menus
spec
static
styles
.gitignore
.travis.yml
CHANGELOG.md
LICENSE.md
README.md
package.json
test.coffee

README.md

atom-sync package

atom-sync is an Atom package to sync files bidirectionally between remote host and local over ssh+rsync. Inspired by Sublime SFTP.

experimentalBuild Status

This package is currently in early development and has only been tested on Mac. Please kindly try it out and provide feedback.

atom-sync

Feature

Prerequisite

  • Ensure you have ssh and rsync installed.

Quick Start

  • Open a project folder to sync in Atom.
  • Right click on the project folder and select Sync -> Edit Remote Config.
  • Edit and save the config file.
  • Right click on the project folder and select Sync -> Sync Remote -> Local.
  • Watch water flows.

Notice

Config File

.sync-config.cson

remote:
    host: "HOSTNAME",       # server name or ip or ssh host abbr in .ssh/config
    user: "USERNAME",       # ssh username
    path: "REMOTE_DIR"      # e.g. /home/someone/somewhere

behaviour:
    uploadOnSave: true      # Upload every time you save a file
    syncDownOnOpen: true    # Download every time you open a file
    forgetConsole: false    # Never show console panel even while syncing
    autoHideConsole: true   # Hide console automatically after 1.5s
    alwaysSyncAll: false    # Sync all files and folders under the project \
                            # instead of syncing single file or folder
option:
    deleteFiles: true       # Delete files during syncing
    exclude: [              # Excluding patterns
        '.sync-config.cson'
        '.git'
        'node_modules'
        'tmp'
        'vendor'
    ]

Keybindings

  • ctrl+alt+l Toggle log window

Known Problems

  • You have to Sync Local -> Remote manually after renaming and deleteing files.

Roadmap

  • Refactoring
  • ConsoleView::clean() and btnClean
  • --list-only and confirm dialogue
  • Listen to events
    • Create folders
    • Rename files/folders
    • What about deleting?
  • SSH parameters in config file e.g. public key, port et al.