Corrupt git-annex repository

Joey Hess joey at kitenet.net
Fri Oct 28 23:44:39 CEST 2011


Richard Hartmann wrote:
> On Fri, Oct 28, 2011 at 21:23, Joey Hess <joey at kitenet.net> wrote:
> 
> > Hmm, either the main git-annex branch or origin/git-annex seems to be
> > missing based on the error message, and I don't think it's the latter.
> 
> Both are there.

git log git-annex..origin/git-annex fails, so both are *not* there.

(git branch may show them, which means nothing when your repository is
corrupted)

> > The only place the uuid for a repository is stored is .git/config.
> 
>         ef90acc8-019e-11e1-9354-9f042d197907 -- test

What I meant to say is that the only place that git-annex looks to
determine the UUID of the current repository is .git/config. Of course
it *stores* information about a UUID in various places -- in your
example you told it to store a description "test" for that UUID, so
status displays that even if it doesn't know of any repository that has
that UUID. Notice it did not say "test (here)"

> > There is not.
> 
> Why? If a UUID is marked as 'gone forever', the other repos could pick
> that information up over time and purge it from their own stores.

Because I don't know how to design a system that has auto-merging and
supports outright deletion of UUIDs. Consider this location log file:

1319837256.637657s 1 82e27eac-00d2-11e1-98af-a7c8649fdab4
1319835945.041525s 0 d819e6c8-01a7-11e1-af2b-9f1a8049ae44

If d819e6c8-01a7-11e1-af2b-9f1a8049ae44 is "gone forever" and is
removed, the log file will then contain:

1319837256.637657s 1 82e27eac-00d2-11e1-98af-a7c8649fdab4

But other repositories where that operation has not been performed will
still contain the first file. When one of them is union merged back
into it, the removed line will necessarily come back.

The best that could be done is to add a fourth trust state that is like
untrusted UUIDs but causes them to be hidden from view. But this would
mean additional work, to handle this edge case -- and simply changing
the description of a dead repository seems to work nearly as well.

-- 
see shy jo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 828 bytes
Desc: Digital signature
URL: <http://lists.madduck.net/pipermail/vcs-home/attachments/20111028/ca65222c/attachment.pgp>


More information about the vcs-home mailing list