comment
This commit is contained in:
parent
efd6a8e3aa
commit
a906f75699
1 changed files with 51 additions and 0 deletions
|
@ -0,0 +1,51 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="joey"
|
||||||
|
subject="""comment 1"""
|
||||||
|
date="2015-04-14T16:57:15Z"
|
||||||
|
content="""
|
||||||
|
case 1
|
||||||
|
|
||||||
|
1. git annex add file
|
||||||
|
2. git annex drop --force file
|
||||||
|
3. git rm file
|
||||||
|
4. git commit -m nochange
|
||||||
|
|
||||||
|
case 2
|
||||||
|
|
||||||
|
1. git annex add file
|
||||||
|
2. git commit -m added
|
||||||
|
3. git annex drop --force file
|
||||||
|
4. git rm file
|
||||||
|
5. git commit -m removed
|
||||||
|
|
||||||
|
fsck --all, or fsck in a bare repo, will repport the same problem in either
|
||||||
|
case; the only difference being that in the latter case you can see that
|
||||||
|
the master branch's history (or some user branch) did once include the lost
|
||||||
|
file. In the former case, only the git-annex branch ever had a commit made
|
||||||
|
about the lost file.
|
||||||
|
|
||||||
|
The only way to remove this message would be either remove the log file
|
||||||
|
from the git-annex branch, or teach fsck to ignore it.
|
||||||
|
|
||||||
|
Due to union merge it's not as simple as deleting the log file. A `git
|
||||||
|
annex forget` type transition is needed to avoid merging the log file back in
|
||||||
|
from elsewhere. It's certianly doable using the transition infrastructure.
|
||||||
|
|
||||||
|
Or, fsck could have its own blacklist of known problems to not warn about.
|
||||||
|
in some ways that's more complex; in others it's perhaps simpler since it
|
||||||
|
avoids the complexity needed to handle transitions. (forced pushing, branch
|
||||||
|
rewriting on merge, etc)
|
||||||
|
|
||||||
|
Either way, I think the question is what UI to use to identify these keys.
|
||||||
|
Seems like the user would have to examine their repos's history and
|
||||||
|
understand whether they've hit case 1, or case 2, vs when a file they
|
||||||
|
really wanted to have available in the history has actually been lost.
|
||||||
|
Fsck could give some guidance, but not a whole lot. Note that if the user
|
||||||
|
goofs up, they coud end up in a situation that's rather more a mess than
|
||||||
|
this one!
|
||||||
|
|
||||||
|
(I've seen maybe half a dozen people reporting this problem before. I think
|
||||||
|
most or all of them were using fsck in a bare repository. It might be that,
|
||||||
|
if fsck in a bare repository didn't behave as fsck --all, nobody would
|
||||||
|
care.)
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue