summaryrefslogtreecommitdiff
path: root/doc/bugs/uninit_does_not_work_in_old_repos.mdwn
blob: d3df061487a3feb627372adbdedb2b9b8a3250e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
As uninit does not need to actually write out any data, just remove it, it should be possible to uninit in old stores.

    % git annex uninit
    git-annex: Repository version 2 is not supported. Upgrade this repository: git-annex upgrade

If the repo happens to be broken, this essentially locks in data.

> No, because you can always check out the version of git-annex you need
> for that repository.
> 
> uninit, as implemented, runs unannex on every file and then does some
> cleanup. The cleanup does not need to write state, but the unannex does.
> And it depends on the object directory layout, which has changed between
> versions. So supporting old versions in this code would complicate it
> quite a lot. I don't want to go there. --[[Joey]]

>>Requiring a version upgrade for unannex is fine. Yet, I see a problem when a git repo is broken; you are stuck without being able to uninit. In this case an uninit that does nothing but undo the symlinking would be useful. -- Richard

>>> As I said, version 2 of git-annex is still there for people who need
>>> it for whatever reason. [[done]] --[[Joey]]