summaryrefslogtreecommitdiff
path: root/doc/design/assistant/desymlink.mdwn
Commit message (Collapse)AuthorAge
* pre-commit: Update direct mode mappings.Gravatar Joey Hess2013-02-06
| | | | | | | | | | | | | | | | Making the pre-commit hook look at git diff-index to find changed direct mode files and update the mappings works pretty well. One case where it does not work is when a file is git annex added, and then git rmed, and then this is committed. That's a no-op commit, so the hook probably doesn't even run, and it certianly never notices that the file was deleted, so the mapping will still have the original filename in it. For this and other reasons, it's important that the mappings still be treated as possibly inconsistent. Also, the assistant now allows the pre-commit hook to run when in direct mode, so the mappings also get updated there.
* Deal with stale mappings for deleted file in direct mode.Gravatar Joey Hess2013-02-05
| | | | | | | | | | | | The most common way for a mapping to be stale is when a file was deleted, or renamed. Nothing updates the mappings for deletions yet. But they can also become stale in other ways. For example a file can be modified. So, the mapping is not trusted to be consistent. When we get a key, only replace symlinks that still point to that key with its content. When we drop a key, only put back symlinks for files that still have the direct mode content.
* safe recv-key in direct modeGravatar Joey Hess2013-01-11
| | | | | Checks the key's size and checksum. This is sorta expensive, but it avoids needing to add another round-trip to the protocol.
* tested some casesGravatar Joey Hess2013-01-11
|
* updateGravatar Joey Hess2013-01-10
|
* thoughts on safer direct mode transfersGravatar Joey Hess2013-01-08
|
* updateGravatar Joey Hess2012-12-29
|
* updateGravatar Joey Hess2012-12-25
|
* use sync command merge engine in assistantGravatar Joey Hess2012-12-25
| | | | To handle direct mode merging.
* updateGravatar Joey Hess2012-12-19
|
* updateGravatar Joey Hess2012-12-18
|
* Merge branch 'master' into desymlinkGravatar Joey Hess2012-12-17
|\ | | | | | | | | | | Conflicts: debian/changelog doc/design/assistant/desymlink.mdwn
| * updateGravatar Joey Hess2012-12-13
| |
* | Merge branch 'master' into desymlinkGravatar Joey Hess2012-12-13
|\| | | | | | | | | | | | | | | Conflicts: Annex/CatFile.hs Annex/Content.hs Git/LsFiles.hs Git/LsTree.hs
| * updateGravatar Joey Hess2012-12-12
| |
* | Merge branch 'master' into desymlinkGravatar Joey Hess2012-12-10
|\|
| * update list of things TODO to make git annex sync work in direct modeGravatar Joey Hess2012-12-10
| |
* | Merge branch 'master' into desymlinkGravatar Joey Hess2012-12-10
|\|
| * updateGravatar Joey Hess2012-12-08
| |
* | support for checking presence of objects in direct modeGravatar Joey Hess2012-12-07
|/ | | | | | | | | | | | | | | | | | | | | Also for dropping objects in direct mode. Checking presence reliably needs a cache of mtime, size, and inode. This way, if a file is modified, keys that point to it are no longer present. Also, the code for restoring the symlink when removing objects is unnecessarily messy. calcGitLink was generating links starting with "../../remote/.git/", when running "git annex move --from remote". I put in a workaround, but calcGitLink should probably be fixed. There is not yet support for getting objects from repositories in direct mode; it still looks for content in .git/annex/objects, and there's no once place I can change to fix that. Also, getting objects from direct mode repositories is problematic since the can be changed while the object is being transferred. It probably needs to quarantine it first.
* worked out more designGravatar Joey Hess2012-12-04
|
* doc/design/assistant/desymlink.mdwn: Typo fixGravatar Øyvind A. Holm2012-11-30
| | | | | | problimatic → problematic. 827d0750-3b1b-11e2-ac67-00c0a8deee11
* updateGravatar Joey Hess2012-10-04
|
* updateGravatar Joey Hess2012-05-26