-
Notifications
You must be signed in to change notification settings - Fork 216
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make v1.1.x style permission handling configurable via expert settings. #1086
Conversation
When upgrading from 1.1.x to 1.2 incremental backup does not work for the first backup, basically due to a change how rsync is called in 1.2. That means, that even if there is only one single file change in respect to the last (1.1.x) snapshot, 1.2 will make a full backup of all files. And that means it takes very long for a new snapshot and it will need nearly twice the disc space. With this PR you can continue to use your old snapshots for incremental backups even with 1.2.
If I remember correctly there something about the reasoning in the referenced issue. |
@b3nmore Thanks again for the patch. There seems so be at least two more lines that need to be changed in common/snapshots.py. Line 447 I removed the "no_perms = False" part of both and am doing some testing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There seems so be at least two more lines that need to be changed in common/snapshots.py.
Line 447 cmd_prefix = tools.rsyncPrefix(self.config, no_perms = False, use_mode = ['ssh'])
Line 848 cmd = tools.rsyncPrefix(self.config, no_perms = False)
From my point of view, the real reason for this PR is that the new permission handling is not what most people would want, since it leads to backing up files that have not changed, if only their permissions have changed. Not recognizing older backups when upgrading from 1.1.x to 1.2 is only a side effect of this. Again, from my point of view, the new way of handling permissions should be completely removed from BiT. No one should want to create a new backup of a file only because its permissions have changed. |
I created the PR #1128 which removes the new permissions handling without adding any config option. |
The charm of this PR is that the user can configure the |
I have just pulled the PR into a branch of my forked BiT. The changed settings dialog looks like this: The merge breaks at some unit tests that do not expect "no_perms" and needed additional work to fix/adjust the expected results of the affected unit tests:
As discussed in #1128 I do put this on hold until we can decide about the new permission system in general... |
I appreciate the work. But I vote to close the PR because this seems not to be the long term solution for the underlying problem. The two major issues relevant here are #994 and #988 . The problem behind it is much bigger and need further investigation. The root of the problem is not even clear. I'm not convinced that that "v1.1.x style permission handling" is the right way compared to the current "1.2 style". And I won't try to support two different ways of style permission handling. Myself I need much deeper understanding of how rsync handle things like this and how BIT do use rsync here. This will be ground work. |
If we should ever revive this closed PR: The code changes would also require to implement the fix for #994 which is (as known so far) triggered by |
No description provided.