Synchronize notmuch mail across machines
David Mazieres 252a934cad fix race condition 3 months ago
doc separate infinibuf.h file 4 years ago
m4 start to bundle the file operations into a structure 4 years ago
www Merge branch 'master' of market.scs.stanford.edu:hack/repos/muchsync 2 years ago
.gitignore man page 4 years ago
AUTHORS CONVERT TO C++. 4 years ago
COPYING update readme 4 years ago
ChangeLog CONVERT TO C++. 4 years ago
Makefile.am debian wheezy fixes; bump version number to 1 in anticipation of release. 2 years ago
NEWS fix race condition 3 months ago
README update README 2 years ago
autogen.sh modify autogen to fetch man page from web if no pandoc executable 2 years ago
cleanup.h fix to work with clang 4 years ago
configure.ac fix race condition 3 months ago
design.txt reconcile .../new and .../cur in a more intelligent way 4 years ago
infinibuf.cc fix race condition 3 months ago
infinibuf.h fix race condition 3 months ago
misc.cc use std::chrono instead of clock_gettime 2 years ago
misc.h use std::chrono instead of clock_gettime 2 years ago
muchsync.1.md update man page to provide more detail about -F 1 year ago
muchsync.cc attempt to limit memory consumption 1 year ago
muchsync.h first attempt to deal with resurrected files properly 3 years ago
notmuch-wishlist.txt revise 4 years ago
notmuch_db.cc bug 2 years ago
notmuch_db.h add muchsync.and_tags option 2 years ago
protocol.cc bump version to 3 11 months ago
sql_db.cc bump version to 3 11 months ago
sql_db.h add --newid command-line option 1 year ago
sqlstmt.cc get rid of gratuitous include 7 months ago
sqlstmt.h debian wheezy fixes; bump version number to 1 in anticipation of release. 2 years ago
xapian_sync.cc also work around missing fstatat and fdopendir 2 years ago

README


# Intro

Muchsync is a mail synchronizer for notmuch. The project homepage is
[www.muchsync.org](http://www.muchsync.org/).

# To get latest the muchsync software, run:

git clone http://www.muchsync.org/muchsync.git

# To build it after a git checkout, run the following:

./autogen.sh
./configure
make

[Note: you need pandoc to build the man page, otherwise `autogen.sh`
will fetch it from the web.]

# Using

Muchsync assumes that it's on your path on the server, but you can
specify the path on the command line with -r. If you are tracking a
development version, you can put a symlink to the executable in your
home directory on all machines, and then run:

~/muchsync -r ./muchsync server

Of course, initial clones are kind of slow, so you probably want to
see what's happening. You can add -vv before server to see what is
happening locally, and -vv after to see what is happening on the
server. For example:

~/muchsync -r ./muchsync -vv server -vv

# Getting started

On the server, initialize the repository by running:

muchsync -vv

On the client, to create a new replica from scratch, run one of:

muchsync --init=/path/to/new/inbox -vv server -vv

muchsync -r ./muchsync --init=/path/to/new/inbox -vv server -vv