diff options
author | 2012-12-07 17:49:31 -0400 | |
---|---|---|
committer | 2012-12-07 17:49:31 -0400 | |
commit | b90136c544e2f85ef664212003dd506a340a8b5c (patch) | |
tree | 2fd074bbbf857f13f0d3bea56dd707f95ac1448b /doc/design/assistant/blog/day_147__direct_mode.mdwn | |
parent | 602f406b4a74b26b32c3af8ba20d5bebcebdc5d9 (diff) |
blog for the day
Diffstat (limited to 'doc/design/assistant/blog/day_147__direct_mode.mdwn')
-rw-r--r-- | doc/design/assistant/blog/day_147__direct_mode.mdwn | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/doc/design/assistant/blog/day_147__direct_mode.mdwn b/doc/design/assistant/blog/day_147__direct_mode.mdwn new file mode 100644 index 000000000..1a7523785 --- /dev/null +++ b/doc/design/assistant/blog/day_147__direct_mode.mdwn @@ -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. |