Client: 2.0.0 doesn't sync hidden files by default

Created on 28 Aug 2015  路  18Comments  路  Source: owncloud/client

Until now hidden files were synced by default. After the upgrade to 2.0.0, all my .hidden files were ignored.
I explicitly had to set to sync hidden files. It is not a good practice to change the defaults without a prompt during install. I understand that new features are nice and that it makes sense to exclude hidden files in certain cases. However, changing the behavior (the defaults) can be a problem.

At the moment it looks like this:

  • user uses client 1.8.x.
  • all files are synced
  • user upgrades to 2.0.0
  • hidden files are not synced
  • user does not even know that some of his files are not up-to-date, unless checking the activities tab
Discussion

Most helpful comment

@dragotin ok, I get that, but at least tell people when the start the client for the first time something like: _Attention: hidden files are no longer synced by default. please change the setting ..._

For you these files are hidden files, but for me those files are configuration files for various Linux programs (.bla.rc) and I never thought of them as hidden (as "mark file hidden in Windows or OSX").
I'm sure, I'm not the only one who considers dotfiles essential...

All 18 comments

@dragotin: is that not the expected behaviour?

The behaviour prior 2.0.0 with hidden files was a bit... broken. We _intended_ to not sync hidden files, but we did in fact because there was an error. This is a bit of an awkward situation of course, and now with 2.0.0 we fixed that. Now you can choose actually.

I am sorry if however that we picked the wrong default for you, but that is how it always was supposed to be.

@dragotin ok, I get that, but at least tell people when the start the client for the first time something like: _Attention: hidden files are no longer synced by default. please change the setting ..._

For you these files are hidden files, but for me those files are configuration files for various Linux programs (.bla.rc) and I never thought of them as hidden (as "mark file hidden in Windows or OSX").
I'm sure, I'm not the only one who considers dotfiles essential...

Yes I also use dot files a lot, .config folders, .git on my little repos, .htaccess files...
I think it's a change important enough to at least be notified.
I ended seeing my code updated but commits not "done" on my other machines.

Anyway, thanks for the hard work!.

I agree with @tessus. @dragotin : is it possible to reopen this discussion, or is it considered as a closed debate?
My user case: I use Picasa and information about pictures are stored in an hidden file ".picasa.ini". If I don't sync it, I lose the modification from one computer to another.
What is the advantage of not syncing hidden files by default? They are usually very small files, not so hard to handle for the sync agent, aren't they? Thank you!

It is a bit of a 50/50 thing. Some apps will create little hidden files temporarily when they run - to make auto-backups/logs in case they crash, or do other "local" stuff. In that case the hidden files are deleted when the app exits cleanly. For apps like that, it is annoying (and potentially confusing and...) if those temporary hidden files are synced up to the server and then down to other clients. The other clients might also have a user running the app and it might get confused by bonus temporary files appearing. And then they are deleted as the app exits, and have to be deleted on the server, then the delete propagated to other clients...
There has to be some "reasonable" default, and then let people change it as needed.

@phil-davis Let's agree to disagree. My point was that you changed the default without even informing the user. Furthermore your explanation is not quite correct, because the option to sync hidden files does not negate the exclusion of files with a pattern.
Another problem is that the default patterns are greyed out, which means I cannot even sync .htaccess files, if I wanted to (unless I edit the sync-exclude.lst file).

filepattern

@tessus: We did not change the default, we fixed a problem with hidden files that existed with pre 2.0. Before we did not want to sync hidden files, but did in certain circumstances, which was plain inconsistent.

Now users can do more than before with enabling the sync of hidden files.

About the ignore files: You better do not edit the sync-exclude.lst unless you know what you do. .htaccess is not synced because that might cause a security problem on the server.

@PVince81 is that still the case btw?

@dragotin still, the behavior changed and you didn't notify the user. all of a sudden, files, which were synced before the change, are not synced anymore. as I mentioned before, introduce a pop-up (which explains that you now have to turn on syncing hidden files explicitly) that shows up the first time a 2.0 version is started.

.htaccess was only an example. I can't sync any of the files, which are in the greyed out pattern list.
I agree, syncing .htaccess files is usually a bad idea, but it might still be necessary in certain situations.

So this is it! I spent days trying to figure out why half the files in my home dir had stopped syncing reliably, but couldn't find a pattern. I had no idea how long it had been a problem. A message to the user would have been appreciated.

It was made worse by not having -h in the man page, see #4290.

+1 for notifying the user, I have many dotfiles that I only just discovered were not syncing as they were "hidden files".

@AceJase This issue was closed and nobody cares about users wondering why the bahavior changed.
Nobody will add a notification to the client. It's sad, but apparently the truth.

FWIW, I'm very pleased with the current design - hidden files are now handled really well, IMO.

@jcw I think you are missing the point. the current design might be as good as it gets, but you still have to notify the user, when the bahavior has changed.

Did you read the comments? A lot of people were wondering why their files weren't synced anymore.
No info anywhere. Not in the documentation, nor a notification in the client. Without this ticket, nobody would know what the heck happened.

Yes, I did read all comments. _My note was meant as encouragement and praise for the authors._
With all due respect, your complaining isn't contributing towards this (ehm... free?) open source project.
You've made your point several times now - why not stop repeating yourself and fix the docs instead?

Because it is too late now. It should have been included in the RELEASE notes of 2.0.0.

The only way to do this now is to popup an info box when you upgrade from <2.0.0 to >=2.0.0 (either during install or at the first start of the client after the upgrade).

I think this should be configurable per account sync directory tree. There is one where I would need dotfiles to get synced, while I don't need it on the others.

I think this should be configurable per account sync directory tree. There is one where I would need dotfiles to get synced, while I don't need it on the others.

Technically, in the code, the settings is per folder. You can try to edit the config file manually.
However since the UI only has one checkbox it might get overwritten when you change the setting in the UI

Was this page helpful?
0 / 5 - 0 ratings