remove wrong uniqueness constraint from ContentIdentifier db

Fix bug that caused importing from a special remote to repeatedly download
unchanged files when multiple files in the remote have the same content.

Unfortunately, there's really no good way to remove a uniqueness constraint
from a sqlite database. The best that can be done is to make a new table
and copy the data over. But that would require using persistent's
migrations or raw sql, and I don't want to do either.

Instead, a sledgehammer approach: Renamed .git/annex/cid to
.git/annex/cids. When the new database doesn't exist, it will be populated
from the git-annex branch.

Noting deletes the old database. Don't want to delete it out from under
some long-running git-annex process that might be using it. It could
eventually be deleted. But this is such a new feature, probably few repos
have the database in any case.
This commit is contained in:
Joey Hess 2019-04-09 19:58:24 -04:00
parent 5ece1408ae
commit 6babb2c73f
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 13 additions and 7 deletions

View file

@ -7,3 +7,5 @@ unncessarly importing in that case. --[[Joey]]
Seems that the ContentIdentifier database can actually only store one cid
for a given key at a time, not multiples needed by this. This needs a
change to the db schema to fix, unfortunately.
> [[done]] --[[Joey]]