===== VSync -- File Version Synchronization Program ===== VSync is a utility program for synchronizing a local set of files with a set contained in some central repository. It can be used with any type of file (text, data, programs). The central repository is simply a file directory; it can be on the same computer or local network, or it can be a web-site anywhere on the internet. VSync was primarily designed as a way to organize and keep track of changes in multiple related computer files. These can be program source files, a software distribution package, data files, or anything else. VSync organizes any collection of files into a "project" in a user-defined central repository. A project consists of an XML log file listing all files in the project and a copy of each file. The XML log file includes summary details about the contents of each file (size, modification date, checksum, cyclic parity). Users with access to a project in the central repository can use VSync to download the repository log file and then compare that list to the version of files on their computer. If the versions differ, VSync can either download to make the local files match, or upload to modify the central version. In this respect VSync is similar in concept to CVS, but simpler to use and capable of handling any type of file including program and binary data files. ==== Installing VSync ==== If you are using VSync primarily to download another program (e.g. CIGAL, fScan) you should follow the instructions for downloading those programs to get VSync as well. In particular, the link for [[jvs:cigal:download|Download CIGAL]] provides simple instructions for downloading VSync as well as the rest of CIGAL. Alternatively, you can download the VSync program and installation README file for Windows and for Linux directly from:\\ http://hawking.biac.duke.edu/public/VSync/Windows\\ http://hawking.biac.duke.edu/public/VSync/Linux ==== Using VSync to Download Files ==== To download a VSync project you need to know the project name, the remote repository location, and you may need a user ID and password (or a decryption key). This information can be entered interactively in VSync, but it is usually stored within a simple text file called "vsync_project.xml". When you run VSYnc, it will automatically look for a "vsync_project.xml" file in the current directory and load parameters from it if found. If the project repository is a web-site URL you must have your computer connected to the internet to use VSync. VSync will compare all local files to the most recent versions on the web-site and then download only those files that need updating. It will prompt you for confirmation before overwriting any existing files. [[jvs:vsync:exampledownload|Download Examples]] ==== Using VSync to Upload Files ==== VSync has options to create a new project repository (-initialize), add files (-add), and upload modified files (-upload). At present, VSync will only upload files to a repository within a local computer network with direct disk access. Uploads can not be done via an internet web-site. [[jvs:vsync:exampleupload|Upload Examples]] ==== File Backup ==== VSync can also be used as a simple local file backup program. [[jvs:vsync:examplebackup|Backup Example]] ==== VSync XML Files ==== VSync organizes all of its information in several different XML files. Some of these files are stored on the remote host site, and others are created and stored on the local client computer. An overview of these files and their XML structures are found at: [[jvs:vsync:xmlfiles|VSync XML Files]] Back to [[jvs:|JVS]] home page.