comments
This commit is contained in:
parent
8307e0f63f
commit
4a1030d51d
2 changed files with 55 additions and 0 deletions
|
@ -0,0 +1,37 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2022-09-16T17:10:24Z"
|
||||
content="""
|
||||
"file content has changed" is a message from the directory special remote
|
||||
when it sees that a file in the directory has a different mtime,size,inode
|
||||
tuple (content identifier) than the one that was recorded when importing
|
||||
the tree.
|
||||
|
||||
Maybe that has something to do with the duplicate files, since they would
|
||||
have different inodes. Except, it does try to support that; it can keep
|
||||
track of multiple content identifiers for a key, and when there are
|
||||
duplicate files, that works in my testing.
|
||||
|
||||
I notice that, if I have a directory special remote that was initially
|
||||
set up with ignoreinodes=no, and I've imported a tree that way from it,
|
||||
I can cause what looks like this problem:
|
||||
|
||||
joey@darkstar:~/tmp/bench/x>git-annex enableremote t directory=../x ignoreinodes=yes
|
||||
enableremote t ok
|
||||
(recording state in git...)
|
||||
joey@darkstar:~/tmp/bench/x>git-annex get 3 --from t
|
||||
get 3 (from t...)
|
||||
file content has changed
|
||||
|
||||
Which seems like a bug that it allows changing it, but I think that the idea was
|
||||
that, after changing ignoreinores, the user would re-run git-annex import,
|
||||
which would re-import all the files since the content identifier has
|
||||
changed. Still, I think that
|
||||
[[!commit 3e2f1f73cbc5fc10475745b3c3133267bd1850a7]] didn't consider that
|
||||
it could cause a get to fail.
|
||||
|
||||
I know you have recently upgraded from a version that defaulted
|
||||
to ignoring inodes. Maybe you only need to re-run `git-annex import` from the
|
||||
directory remote to fix the problem?
|
||||
"""]]
|
|
@ -0,0 +1,18 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 2"""
|
||||
date="2022-09-16T17:32:29Z"
|
||||
content="""
|
||||
If I was on the wrong track with my first comment, it would be helpful
|
||||
to take a look at the content identifier that is recorded for
|
||||
the key, by running:
|
||||
|
||||
git show git-annex:$(git-annex examinekey SHA256E-s55936559--0d418e4bb62cfc7ef5b053f8b622dd72794781a49931abc41bb9499acaf51b09.mp4 --format='${hashdirlower}${key}.log.cid')
|
||||
|
||||
The part after the UUID in the output is the content identifier(s). If more
|
||||
than one, they are separated by colons. The format of a content identifier
|
||||
is "inode size mtime", and the inode will be 0 if it was generated with
|
||||
ignoreinodes=yes. So you could then compare the content identifiers
|
||||
with the stat of the files in the directory special remote and see if
|
||||
something has actually changed.
|
||||
"""]]
|
Loading…
Reference in a new issue