Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A simple script & library to handle syncing remote mercuial repositories

Project Description

Ever had to keep two mercurial repositories on different machines in sync? Mercurials push & pull help to make this fairly easy, but if you make use of mercurial queues or the histedit extension then it can quickly become tedious. That’s where synchg comes in.

Synchg intends to make syncing two mercurial repositories as simple as possible. Simply run a command, and synchg will take care of the rest.

Requirements

Python 2.7 & Mercurial 2.3 are recommended, though others will probably work.

Synchg depends on these python packages:

It also requires:

  • An ssh client on the path (putty on windows, openssh compatible on other platforms)
  • Access to an SSH server on the remote machine(s)
  • An ssh private key loaded in an ssh agent (pagaent on windows, ssh-agent on other platforms)
  • That the mq extension is enabled on the remote machine(s)

Installation

Synchg and it’s python dependencies can be installed via pip:

$ pip install synchg

Using SyncHg

The synchg script should be run from the command line:

$ synchg remote_host [local_path=None]

Where remote_host is the host you wish to sync with and local_path is the optional path to the local mercurial repository (if missing, the current directory will be assumed)

Information on more options can be found by running:

$ synchg --help

Caution!

Synchg regards remote repositories as “slaves” and will strip out any changesets it finds that are not in the local repository. You will be prompted before this happens, but the script will be unable to continue if you don’t answer yes.

Configuration

On first run of synchg you will be prompted with some configuration options:

Remote source directory
This is the path on the remote under which all your repositories should be found. For example, if you have repositories at /repo/one/ and /repo/two/ then you would set this to /repo/

If you want to change the configuration of synchg, then simply run synchg -c to run the config process again.

Release History

Release History

This version
History Node

1.0.0

History Node

0.9.8

History Node

0.9.7

History Node

0.9.6

History Node

0.9.5

History Node

0.9.4

History Node

0.9.3

History Node

0.9.2

History Node

0.9.1

History Node

0.9

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
SyncHg-1.0.0.tar.gz (10.5 kB) Copy SHA256 Checksum SHA256 Source Jan 24, 2013

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting