Merge branch 'master' into readonly-annex-merge
This commit is contained in:
commit
6b7601c7f6
2 changed files with 66 additions and 0 deletions
|
@ -0,0 +1,36 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 5"""
|
||||
date="2021-12-26T18:06:26Z"
|
||||
content="""
|
||||
I have this mostly implemented, in the `readonly-annex-merge` branch.
|
||||
It seems to work well. Eg:
|
||||
|
||||
joey@darkstar:/tmp/a2>/usr/bin/git-annex whereis xxx
|
||||
git-annex: .git/annex/journal.lck: openFd: permission denied (Permission denied)
|
||||
- exit 1
|
||||
joey@darkstar:/tmp/a2>~/bin/git-annex whereis xxx
|
||||
whereis xxx (1 copy)
|
||||
2a4e4ab8-6bc0-484b-aa4c-e54053cf1d87 -- joey@darkstar:/tmp/a1 [origin]
|
||||
ok
|
||||
|
||||
One sticking point is transitions. When a remote git-annex branch has a
|
||||
transition in it, and the transition has not yet been applied to the local
|
||||
branch and/or other remote git-annex branches, then as this is currently
|
||||
implemented, the transition will not be applied when doing the in-memory
|
||||
merge.
|
||||
|
||||
Since the only transitions so far forget old history and dead remotes,
|
||||
it's not a major effect. It would only mean that some additional information
|
||||
about a dead remote would be displayed, or that `git-annex log` would
|
||||
display more history.
|
||||
|
||||
Also, there are several couple of other things that look at the git-annex
|
||||
branch, beyond simply reading a single log file, and so do not look at
|
||||
unmerged branches. `git-annex log` does, --all does, etc. There are
|
||||
several more.
|
||||
|
||||
These things break the invariant I am shooting for, that git-annex
|
||||
commands will behave the same whether they are in this readonly mode or
|
||||
not. They will need to be addressed before this is merged..
|
||||
"""]]
|
|
@ -0,0 +1,30 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 6"""
|
||||
date="2021-12-27T17:38:49Z"
|
||||
content="""
|
||||
Current list of items that need to be fixed before this is mergeable:
|
||||
|
||||
- When there is a transition in one of the remote git-annex branches
|
||||
that has not yet been applied to the local or other git-annex branches.
|
||||
Transitions are not handled.
|
||||
- `git-annex log` runs git log on the git-annex branch, and so
|
||||
it will not be able to show information coming from the other, not yet
|
||||
merged branches.
|
||||
- Annex.Branch.files only looks at files in the git-annex branch and not
|
||||
unmerged branches. This affects git-annex info output.
|
||||
- Annex.Branch.hs.overBranchFileContents ditto. Affects --all and
|
||||
also importfeed (but importfeed cannot work in a read-only repo
|
||||
anyway).
|
||||
- CmdLine.Seek.seekFilteredKeys when precaching location logs.
|
||||
Note use of Annex.Branch.fullname
|
||||
- Database.ContentIdentifier.needsUpdateFromLog and updateFromLog
|
||||
- (skip) `--in=repository@{date}` uses loggedLocationsHistorical which uses
|
||||
Annex.Branch.getHistorical, which does not look at unmerged branches.
|
||||
But perhaps this is ok.. This uses the reflog, so when used to query
|
||||
eg files that were present in the past, it means ones that the local
|
||||
git-annex branch thought were present; other git-annex branches
|
||||
may have had a different opinion but it will not show those.
|
||||
And another way to look at it, the result for this will be the same
|
||||
before and after merging those branches.
|
||||
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue