Merge branch 'master' into watch

This commit is contained in:
Joey Hess 2012-06-05 14:53:38 -04:00
commit 78f5f90c24
9 changed files with 95 additions and 17 deletions

View file

@ -0,0 +1,21 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawkSq2FDpK2n66QRUxtqqdbyDuwgbQmUWus"
nickname="Jimmy"
subject="comment 2"
date="2012-06-05T14:07:26Z"
content="""
FYI, (the follow is on OSX 10.7 on two different machines)
On my 64bit install of haskell platform...
laplace:~ jtang$ ghc -e 'print System.Info.arch'
\"x86_64\"
On my 32bit install of haskell platform...
x00:git-annex jtang$ ghc -e 'print System.Info.arch'
\"i386\"
Running _cabal build_ or _cabal install git-annex_ as you suggest with the 32bit install does do the right thing.
"""]]

View file

@ -1 +1,5 @@
The git-annex assistant is being
[crowd funded on Kickstarter](http://www.kickstarter.com/projects/joeyh/git-annex-assistant-like-dropbox-but-with-your-own/).
I'll be blogging about my progress here on a semi-daily basis.
[[!inline pages="page(design/assistant/blog/*)" show=30]]

View file

@ -8,7 +8,7 @@ really useful, it needs to:
- on startup, fix the symlinks for any renamed links **done**
- on startup, stage any files that have been deleted since last run
(seems to require a `git commit -a` on startup, or at least a
`git add --update`, which will notice deleted files)
`git add --update`, which will notice deleted files) **done**
- notice new files, and git annex add **done**
- notice renamed files, auto-fix the symlink, and stage the new file location
**done**
@ -18,9 +18,13 @@ really useful, it needs to:
contents from the index **done**
- notice deleted files and stage the deletion
(tricky; there's a race with add since it replaces the file with a symlink..)
**done**
- periodically auto-commit staged changes (avoid autocommitting when
lots of changes are coming in)
- tunable delays before adding new files, etc
- Coleasce related add/rm events. See commit
cbdaccd44aa8f0ca30afba23fc06dd244c242075 for some details of the problems
with doing this.
- don't annex `.gitignore` and `.gitattributes` files, but do auto-stage
changes to them
- configurable option to only annex files meeting certian size or
@ -32,9 +36,37 @@ really useful, it needs to:
unannex its contents.
- Gracefully handle when the default limit of 8192 inotified directories
is exceeded. This can be tuned by root, so help the user fix it.
Also to do:
- Support OSes other than Linux; it only uses inotify currently.
OSX and FreeBSD use the same mechanism, and there is a Haskell interface
for it,
## the races
Many races need to be dealt with by this code. Here are some of them.
* File is added and then removed before the annex add finishes.
Currently unfixed; The annex add re-adds the file as a symlink and then
the remove event does nothing since the file exists.
* File is added and then replaced with another file before the annex add
makes its symlink.
Currently unfixed; The annex add will fail creating its symlink since
the file exists. The second add event will add the new file.
* File is added and then replaced with another file before the annex add
moves its content into the annex.
Currently unfixed; The new content will be moved to the annex under the
old checksum, and fsck will later catch this inconsistency.
* File is removed and then re-added before the removal event finishes.
Not a problem; The removal event removes the old file from the index, and
the add event adds the new one.
* File is removed and then re-added before the removal event starts.
Not a problem; The removal event does nothing since the file exists,
and the add event replaces it in git with the new one.

View file

@ -0,0 +1,8 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawlu7K3h7Ry1uDAU_ERYGuqt0LoGNJqGuRo"
nickname="Nathan"
subject="comment 2"
date="2012-06-04T21:01:52Z"
content="""
Joey, that sounds reasonable; I'll try it. Thanks!
"""]]

View file

@ -1,4 +0,0 @@
git-annex 3.20120406 released with [[!toggle text="these changes"]]
[[!toggleable text="""
* Disable diskfree on kfreebsd, as I have a build failure on kfreebsd-i386
that is quite likely caused by it."""]]

View file

@ -0,0 +1,11 @@
git-annex 3.20120605 released with [[!toggle text="these changes"]]
[[!toggleable text="""
* sync: Show a nicer message if a user tries to sync to a special remote.
* lock: Reset unlocked file to index, rather than to branch head.
* import: New subcommand, pulls files from a directory outside the annex
and adds them.
* Fix display of warning message when encountering a file that uses an
unsupported backend.
* Require that the SHA256 backend can be used when building, since it's the
default.
* Preserve parent environment when running hooks of the hook special remote."""]]