blog for the day
This commit is contained in:
parent
0931ad6be8
commit
2ed8a6e215
1 changed files with 36 additions and 0 deletions
36
doc/design/assistant/blog/day_147__direct_mode.mdwn
Normal file
36
doc/design/assistant/blog/day_147__direct_mode.mdwn
Normal file
|
@ -0,0 +1,36 @@
|
|||
Started laying the groundwork for [[desymlink]]'s direct mode.
|
||||
I got rather far!
|
||||
|
||||
A git repo can be configured with `annex.direct` and all actions that
|
||||
transfer objects to it will replace the symlinks with regular files.
|
||||
Removing objects also works (and puts back a broken symlink),
|
||||
as does checking if an object is present, which even detects if a file
|
||||
has been modified.
|
||||
|
||||
So far, this works best when such a direct mode repository is used as a git
|
||||
remote of another repository. It is also possible to run a few git-annex
|
||||
commands, like "get" in a direct mode repository, though others, like
|
||||
"drop" won't work because they rely on the symlink to map back to the key.
|
||||
|
||||
Direct mode relies on map files existing for each key in the repository, that tell
|
||||
what file(s) use it. It also relies on cache files, that contain the last
|
||||
known mtime, size, and inode of the file. So far, I've been setting these
|
||||
files up by hand.
|
||||
|
||||
The main thing that's missing is support for transferring objects from
|
||||
direct mode repositories. There's no single place I can modify to support
|
||||
that (like I could for the stuff mentioned above), and also it's difficult
|
||||
to do safely, since files could be modified at any time.
|
||||
|
||||
So it'll need to quarantine files, to prevent a modified version from
|
||||
getting sent out. I could either do this by copying the file, or by
|
||||
temporarily `git annex lock`ing it. Unsure which choice would be less
|
||||
annoying..
|
||||
|
||||
----
|
||||
|
||||
Also did some investigation with Jimmy of the OSX app git-config hang.
|
||||
Seems to be some kind of imcompatability between the 10.7 autobuilder and
|
||||
10.8. Next step is probably to try to build on 10.8. Might also
|
||||
be worth trying <http://macdylibbundler.sourceforge.net/>, although my
|
||||
own scripts do more or less the same thing to build the app.
|
Loading…
Reference in a new issue