Please refer to #2694 and #2670 for motivation and reasoning for
this change.
I've tried to follow best practice in inserting the copyright
headers. In other open source projects, not all files carry
the notice. For example documentation doesn't. I've followed
similar ground rules.
I did not change the php because there is a separate LICENSE
file there by Pixel Federation. We'll first need to notify
them our intent before changing anything there.
As for the presubmit check, it's going to be non-trivial
because of the number of exceptions, like file types,
directories and generated code. So, it will have to be
a separate project.
- better backup error handling:
When the backup fails, we now try to restore mysqld state anyway. That
way the tablet becomes usable again.
- Refactoring backup / restore code:
So individual file backup / restore are each in their own function, instead of
being two blocks deep.
- Adding support for piping data through hooks.
Also streamlining the hook creation, which changes the HookResult
details a bit. All errors now are in Stderr.
- Now supporting backup filters (optional, command-line driven).
And adding one to backup test.
- Add flag to disable backup compression (in case filter compresses).
And add a test to make sure no backup is left-over upon
backup failure.
- Adding context to backupstorage API.
The only current user is the GCS one, but it's way cleaner.