Data sharing and synchronisation involving mobile devices has been a significant challenge to research. The methods for tracking changes and conflicts often require the involvement of a server or desktop PC with the available storage or processing power to do so, reducing the flexibility and potential of mobile device applications. This paper presents CVS-Sync, a system for synchronising data between any number of hosts and without requiring servers. Inspiration for the protocol is drawn from concurrent versioning techniques, where each modification of data creates a unique version of that data. The result is a synchronisation algorithm capable of synchronising data from multiple sources with fast reconnects and minimal overhead. Experimental validation is used to substantiate its improvements over existing protocols.