-
-
Notifications
You must be signed in to change notification settings - Fork 734
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
different magics, accept/convert attic repos #21
Comments
so a few things about this:
i think this is an important scenario we should deal with properly: we are changing the on-disk format. fine. but what does that entail? do we just do random changes and not look back? i believe we should be really careful when that happen and provide a migration path. migrating from attic to borg isn't much different from migrating between borg 1.x and 2.x, assuming 2.x introduces on-disk changes as well. so my suggestion would be to not break the on-disk format without a very good reason (i guess that still needs to be defined, but it seems unclear to me right now what the reason for the above change is). when the on-disk format is changed:
does that make sense? is it the right place to discuss such issues for the future? |
@anarcat the magics are not for versioning, but to tell (detect) whether the files are from this software (borg). That's one of the reasons why they say BORG and not ATTIC. See above for others. There's already other information in the on-disk files to version the API level. Which is btw. another reason not to tell ATTIC in the magics - who says that attic api v3 will be same as borg api v3? |
@ThomasWaldmann Right okay, that makes sense. Still doesn't invalidate my points i believe. ;) |
As borg 0.x.x is now targetted to be attic + conservative changes, a one-time conversion from current(!) attic repos seems reasonable and doable. The converter has to be careful not to convert attic repos (from past or from future) that are incompatible. The different BORG magics must stay as they are, for reasons outlined above. |
Note: I just started a bounty on BountySource for this ticket. The bounty is about implementing the code needed for doing a one-time conversion from attic to borg repositories (so attic users have a migration path without losing their repository or having to begin from scratch). |
i may just do this at some point, but i'm in kind of a squeeze until at least october... so first person to grab this gets the bounty yay! :) |
no one started on this yet? |
Not me at least (and I don't know of anybody else working on this). |
so in short, there are a few places that needs to be rewritten:
i think that about covers it. |
unless the latter wasn't clear, i'm working on this here. :) |
let's move this fun stuff to the PR in #231. |
you're welcome :) |
Just wanted to write something about this change, that makes current borg code incompatible to attic repos (although currently the code likely would still work on them).
Magic strings of the repo files are BORG* now (not ATTIC*) and also the local cache path is .cache/borg/... now (not .cache/attic/...)
See there: 159315e
The reason for this is to avoid interference. At any time, there might be some little change in either attic or borg that makes them incompatible in one or both directions. If both would use the same magic and you would use borg to access attic repos or vice versa (maybe even accidentally), it could just blow up or even permanently damage the repo files. In the worst case, you could not access the repo with either tool any more.
💰 there is a bounty for this
The text was updated successfully, but these errors were encountered: