5

I am a programmer and my file types usually deal with text and images and sometimes other files like sound files and executables. I was using Dreamweaver till now for doing all the sync work and it was pretty good and extremely fast in determining if a file was changed or not. Also the tree view comparison of Dreamweaver allowed me to sync only a particular folder if I wanted to.

Now with the licensing terms of Adobe being changed, I am no longer in a condition to use the software and moved on. But I still miss the sync feature that Dreamweaver gave me. I tried a number of freeware/paid apps which claim to do this but most of them were either bad interfaced or took eternity to analyze the folders. While some only allowed me to sync the whole project (which would be always slow), very few tools I think sync folders and not the whole project.

Is there any good tool for syncing files between computers? They can be any of the win,mac,linux platforms. Gui would be better but then I'd like to see all the options available.

Edit Features I am looking for are as under.

  • Graphical application to manage the sync
  • Should sync the folder currently clicked on and not always see the sync as a whole folder as a sync task
  • Ability to "GET" as well as "PUT" files to server (directional sync)
  • Quick comparison of directory to be sync'd
  • Should handle sync between ftp server
  • Should be able to run on windows but could sync on Linux too.
  • Sync includes capability to sync local or LAN folders too.
2

I highly recommend WinSCP. I have been using it for several years now, syncing (parts of) my computer at home with my computer at work and a series of websites. Never had any problem with it.

In its basic usage WinSCP feels just like a regular FTP client, but it has a lot more options than just getting and putting files. Let me go one by one on the options that you listed:

  • Yes It has a simple GUI that allows you to manage the sync
  • Yes When you are connected and hit ctrl-S a sync window pops up which looks as shown below. By defaults it will suggest syncing of the currently selected folders, but you can adjust it to your needs if you happen to be in the wrong folder. As you can see you can set how to compare and in which directions(s) to sync as well as get a preview of the changes to avoid car wrecks.

enter image description here

  • Yes You can simply "GET" and "PUT" by dragging and dropping files/folders from the local to the remote and vice versa
  • Yes You can compare the currently viewed local and remote folder by hitting Shift-F2. All files that are different will be highlighted (and selected so can immediately be copied)
  • Yes You can very easily log in to any ftp server and do the syncing
  • Yes It runs on Windows and can communicate via FTP and SCP so linux and mac systems can also be approached
  • Note I am not sure whether syncing of local folders would be possible, never tried it because Windows has built-in checking of timestamps anyway, but I think it should be possible by just setting somehow connecting to "localhost". Syncing over LAN is certainly possible by using the other computer as host.

Nice bonus features

  • A features to "Keep remote directory up to date" which will do real-time comparison between your local folder and a remote folder and make sure to update the remote if anything changes locally
  • Runs sync scripts. If you want, for example, a certain folder to be synced every night you can write a script and put a call of WinSCP with this script into the Windows task scheduler to automate syncing
  • No install necessary. Although there is an installation package, it also has a portable executable version so you don't need to install anything to be able to run it.
2

Subversion (SVN)

You are syncing mostly code.
Therefore you should be using version control.
I recommend Subversion, and the TortoiseSVN client. Subversion is commonly abbreviated to SVN. GUI and commandline clients exist for all major OS's.

  • Graphical application to manage the sync: Yes: See Picture
  • Should sync the folder currently clicked on and not always see the sync as a whole folder as a sync task: Yes: you can sync folder within folders etc
  • Ability to "GET" as well as "PUT" files to server (directional sync): Yes: There are 2 basic operations Commit (=Put) and Update (=Get).

  • Quick comparison of directory to be sync'd: Yes: See Picture. Also you can do file comparisons.

  • Should handle sync between ftp server Not Really:
    • You need install a client on the FTP server and run a check out/update.
    • Or you could use a Continuous Integration Tool to automatically do a checkout and ftp push, on changes.
  • Should be able to run on windows but could sync on Linux too. Yes, all major OS's. I don't have a prefered GUI tool for linux (I use the commandline), but I know good ones exist.
  • Sync includes capability to sync local or LAN folders too.: Yes, I don't think SVN differentiates between a Networked File Share and a local file.

Extra features:

  • Multiple Users interaction/conflict merge:, only on plain text (code) files will it attempt a merge. Other files will just show as conflicted. SVN does a aright job at this, but mostly just provides a platform for you to tell it how you want the merge done. (The distributed version control systems like GIT and Mercurial do it better.)
  • Version Control: it keeps track of all the versions of your files. This means that if you say delete some section of code, then 2 weeks later want it back, you can retrieve it from the past version and copy it in.

SVN PICTURE SHOWING FILES MODIFIED

  • Sure version control would help and likewise I could use GIT too but the requirement I need is also the ability to transfer the files to remote servers using ftp which won't be possible with this option. Though I am using a similar way to detect and upload modified and new files right now, but its not very convinent and every now and then I miss something out. – LoneWOLFs Aug 1 '14 at 9:19
  • This really is the kinda problem I feel a Continous Integration tool chain would be good for. And version control is the first step towards CI. Here is a blog post explaining how to do it with TeamCity diaryofaninja.com/blog/2010/05/09/… – Lyndon White Aug 1 '14 at 9:58
  • The option mentioned in this discussion might be useful. It offers the ability to FTP any files changed in a git repository. – MrSchism Aug 1 '14 at 15:44
1

Depends what you want to sync with.

I have used the two solutions below, they work just like Dropbox, sitting in your status bar and syncing as soon as there is a change. They sync both local and remote changes.

Syncing with Adobe Drive

To sync with Adobe Drive, which happens to implement the CMIS protocol, you can use CmisSync.
Free, open source.
Disclaimer: Maintained by me.

Syncing with a generic FTP server

If you want to sync with a plain FTP server, you can use FTPbox.
Free, open source.
The FTP protocol is not very efficient for file syncing, unfortunately.

  • No I don't need an automated solution here. These are code files. And DW also detected if a remote file has changed when i try to sync. It has a distinct 'PUT and 'GET' and 'GET AND PUT' feature which gives you more control over what should be done. Whether put all new files to server. Get new files to server or do both. It even allowed you to do that over a specific folder. – LoneWOLFs Mar 18 '14 at 6:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.