Please improve file and directory inclusion/exclusion and profile management

fgp
edited November 2014 in Acrosync for Mac
Hi,

I been looking for an OSX rsync client which syncs continuously for quite a while, so I was quite excited when I stumbled over Acrosync recently. Unfortunately, however, it currently is mostly unusably for me, due to the extremely basic feature set it currently provides.

What I'm striving for - and what Acrosync's homepage promises - is basically an rsync-based Time Machine. Unfortunately, Acrosync currently fails to deliver on that promise, because there's no easy to way to select which files its supposed to sync. Say I want to sync everything in my home directory (or even my whole machine), except for a few things like ~/Downloads which I don't deem important, or which are too huge . How am I supposed to set that up?

I can add a profile which syncs /Users/me, but how would I then go about excluding ~/Downloads and friends? The "Sync only these files" and "Don't sync these files" fields are completely unsuitable for that! First, the GUI completely fails to explain how to actually put multiple entries into these fields. Maybe separate them with commas? But then, what if some of the file names contain commas? Second, they are way too small! Just imagine putting ten or twenty directories into there, and then trying to figure out a week later if you excluded a certain directory or not. Scrolling through single-line text fields is no fun! Third, its not even clear if you can put directories in there at all - after all, it only says "files".

Alternatively, I might add individual profiles for all the directories I do want to sync. But that doesn't work very well either - it'd require me to enter the authentication information over and over again, since there's no way to have multiple profiles pointing to a single server. Plus, the list of profiles would get rather long in this case, which makes their representation as tabs in the UI about the worst one there could be.

Here's how I believe the UI should look
  1. A profile should conceptually represent a server to sync with, not a specifiec (source, target) pair of directories. What is now called "Remote Dir" should be called "Remote Base Dirt" or "Remote Root".
  2. Each profile should contain a list of (source, target) directories. Target directories should be specified relative to the "Remote Root"
  3. Each profile should additionally contain a source exclusion list, i.e. a list of shell-style patterns, which prevent matching files and directory from being synced.
  4. It should be possible to request a report on what is and isn't synced.
Here's a list of other assorted bugs that I noticed
  1. The copy-paste problem on OS X. You guys really need to make "Ctrl-V" work in the private key window! I was seconds away from giving up and requesting my money back from Apple when I finally figured out that I could paste from the context menu...
  2. Acrosync fails to use the equivalent of "mkdir -p" to create the "Remote Dir". Meaning that it'll successfully create the "Remote Dir" if it doesn't exist only if the parent exists already. But if only the grandparent exists, it'll complain....
  3. It doesn't support IPv6. Maybe not absolutely critical, but in 2014 not nice either. My NAS only has a DNS-entry for its IPv6 Address, so I had to resort to using it's IP address directly...

best regards,

Florian Pflug


Comments

  • First of all, I would like to thank you for this detailed and very constructive feedback.  This is the exact kind of feedback I was hoping for.

    The user guide for the Windows version has a section on how to specify the include/exclude patterns which applies to the Mac version as well, since both use the same engine.  I should have written the Mac guide early.

    Now, for your use case, I think the best way is to specify the exclude patterns as, for example, '/Downloads /Application /Library /Temp'.  Each one is prefixed with '/', to indicate that the pattern is anchored at the 'root' directory.   Patterns are separated by spaces, and if the path names contain spaces, the workaround is replace them with '*' (for instance, '/My*Documents').  And the patterns apply to both files and directories, so 'Temp' will always be skipped, no matter if it is a file or a directory.

    If you have many subdirectories to exclude or include, the text fields would be certainly too small, but I can't think of a better approach that still keeps the UI to a minimum.  What you suggested would definitely work, but I'm afraid it would be too complicated for users who only want simple include/exclude patterns (or even no patterns at all).

    As for the other bugs you mentioned:

    1. This is a regression bug.  'Ctrl-V' used to work but something added in version 1.4 broke it.

    2. This is deliberate.  I don't want to introduce a dependency on 'mkdir'.

    3. I'll make sure IPv6 addresses work in version 1.5.

    Thanks,
    Gang

Sign In or Register to comment.