The git-annex assistant is being crowd funded on Kickstarter.
This is my design and plan for developing it. Still being fleshed out, still many ideas and use cases to add. Feel free to chip in with comments! --Joey
roadmap
- Month 1 "like dropbox": [[!traillink inotify]] [[!traillink syncing]]
- Month 2 "shiny webapp": [[!traillink webapp]] [[!traillink progressbars]]
- Month 3 "easy setup": [[!traillink configurators]] [[!traillink pairing]]
- Month 4 "polishing": [[!traillink cloud]] [[!traillink leftovers]]
- Months 5-6 "9k bonus round": [[!traillink Android]] [[!traillink partial_content]]
not yet on the map:
blog
I'll be blogging about my progress in the blog on a semi-daily basis. Follow along!
For the unfamiliar, it's hard to tell if a command like that would persist. I'd suggest being as clear as possible, e.g.:
I always appreciate your OSX work Jimmy...
Could it be put into macports?
In relation to macports, I often found that haskell in macports are often behind other distros, and I'm not willing to put much effort into maintaining or updating those ports. I found that to build git-annex, installing macports manually and then installing haskell-platform from the upstream to be the best way to get the most up to date dependancies for git-annex.
fyi in macports ghc is at version 6.10.4 and haskell platform is at version 2009.2, so there are a significant number of ports to update.
I was thinking about this a bit more and I reckon it might be easier to try and build a self contained .pkg package and have all the needed binaries in a .app styled package, that would work well when the webapp comes along. I will take a look at it in a week or two (currently moving house so I dont have much time)
It's not much for now... but see http://www.sgenomics.org/~jtang/gitbuilder-git-annex-x00-x86_64-apple-darwin10.8.0/ I'm ignoring the debian-stable and pristine-tar branches for now, as I am just building and testing on osx 10.7.
Hope the autobuilder will help you develop the OSX side of things without having direct access to an osx machine! I will try and get gitbuilder to spit out appropriately named tarballs of the compiled binaries in a few days when I have more time.
watch
branch.Hey Joey!
I'm not very tech savvy, but here is my question. I think for all cloud service providers, there is an upload limitation on how big one file may be. For example, I can't upload a file bigger than 100 MB on box.net. Does this affect git-annex at all? Will git-annex automatically split the file depending on the cloud provider or will I have to create small RAR archives of one large file to upload them?
Thanks! James
wasn't there some filesystem functionality that could tell you the amount of open file handles on a certain file? I thought this was tracked per-file too. Or maybe i'm just confusing it with the number of hard links (which stat can tell you), anyway something to look into.
Complete fsck is good, but once a week probably enough.
But please see if you can make fsck optional depending on if the machine is running on battery.
Corner case, but if the other program finishes writing while you are annexing and your check shows no open files, you are left with bad checksum on a correct file. This "broken" file with propagate and the next round of fsck will show that all copies are "bad".
Without verifying if this is viable, could you set the file RO and thus block future writes before starting to annex?
@wichert All this inotify stuff is entirely linux specific AFAIK anyway, so it's find for workarounds to limitations in inotify functionality to also be linux specific.
@dieter I think you're thinking of hard links, filesystems don't track number of open file handles afaik.
@Jimmy, I'm planning to get watch going on freebsd (and hopefully that will also cover OSX), after merging it :)
@Richard, the file is set RO while it's being annexed, so any lsof would come after that point.
maybe at some point, your tool could show "warning, the following files are still open and are hence not being annexed" to avoid any nasty surprises of a file not being annexed and the user not realizing it.
hfsevents seems usable, git-annex does not need to watch for file changes on remotes on other media.
But, trying kqueue first.
You could perhaps run the autobuilder on a per-commit basis..
Homebrew is a much better package manager than MacPorts IMO.