Actions:
|
2015-11-05 16:19 AEST by Arthur Barrett - There are various 'cloud sync' applications for windows and mac (and probably linux) offered by
Amazon Cloud Drive, Google Drive, Microsoft OneDrive/SkyDrive and Dropbox.
They all do the same thing, they background rsync/unison a folder on your local hard disk with a
remote folder stored on their own server.
Customers who are more familiar with 'distributed' type versioning solutions that don't have any
deadlock controls may attempt to 'store' their CVS repository on a 'cloud drive'.
This will 'work' because the drive is not really on a remote computer, it is in a local folder, but is being
continuously synchronised to a cloud folder.
The synchronisation app may cause havoc with the CVSNT server process (file locking, contention),
and more critically, if two users are 'sharing' a cloud folder - then the RCS file may actually become
corrupt.
We need to be able to detect:
- cvsdiag report dropbox/ondrive etc.
- detect if repository is stored on 'shared' folder, and if so, abort
- control panel & wizard check if 'new' repository is being created on shared folder - deny
I suppose we could also try and detect (on windows) if there is an SMB share of a repository too, or
on Mac/Linux a Samba or NFS share...
The feasibility of this will be limited to the vendors supplying API's to the client which we can
'access' to determine the synchronised folders. e.g.: in Dropbox 2.8 and later on Mac OS X and
Linux, there is a 'hidden' file an application can read:
$ cat ~/.dropbox/info.json
{"personal": {"path": "/Users/abarrett/Dropbox", "host": 4655553667}}
On Windows the same thing is in either:
%APPDATA%\Dropbox\info.json
or
%LOCALAPPDATA%\Dropbox\info.json |