Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

FOSDEM 2012 git-annex talk

902 views

Published on

Talk held at FOSDEM 2012 about git-annex

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

FOSDEM 2012 git-annex talk

  1. 1. Intro Use cases Technical details Outro git-annex manage files with git, without checking their contents in Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com 2012-02-05Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  2. 2. Intro Use cases Technical details OutroOutline 1 Intro 2 Use cases 3 Technical details 4 OutroRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  3. 3. Intro Use cases Technical details OutroOutline 1 Intro 2 Use cases 3 Technical details 4 OutroRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  4. 4. Intro Use cases Technical details OutroWho am I? Project & Network Operations Manager at Globalways AG freenode & OFTC staff Passionate about FLOSS I am not the author of git-annex, but an interested early adopterRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  5. 5. Intro Use cases Technical details OutroWhat is git? Version control system Distributed No need for central repository Commit while offline Full history of all files in every checkout Best version control system available (imo...)Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  6. 6. Intro Use cases Technical details OutroWhat is git-annex? Based on git No need to check files into git Still able to check files into git if you want Able to maintain full history, but does not do so by default Written with low bandwidth and flaky connections in mind Various work-flowsRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  7. 7. Intro Use cases Technical details OutroOutline 1 Intro 2 Use cases 3 Technical details 4 OutroRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  8. 8. Intro Use cases Technical details OutroThe Archivist Put data into git-annex Distribute data among any number of drives, tapes, remotes, etc Store offline media in a safe place Maintain full information about number and location of all copiesRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  9. 9. Intro Use cases Technical details OutroMedia consumption Import podcasts, videos, and slides Sync or export to consumption devices Consume media Drop consumed media from annex Deletion propagates through all annexes over timeRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  10. 10. Intro Use cases Technical details OutroThe Nomad Keep copies of data on www Optionally sync between several local devices for backup Add data locally and/or remotely while on the road Sync data between local and remote once at an Internet ´ cafe or similar Perfect for photos while travellingRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  11. 11. Intro Use cases Technical details OutroOutline 1 Intro 2 Use cases 3 Technical details 4 OutroRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  12. 12. Intro Use cases Technical details OutroInternal workings 1/2 Written in Haskell, so strong typing etc internally Uses rsync to transfer data Moves files into .git/annex/objects Makes files read-only Puts symlink in place of file Stores location data in branch git-annex User adds and commits symlinks to master branchRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  13. 13. Intro Use cases Technical details OutroInternal workings 2/2 Read-only files force you to git annex unlock prior to changing them Ensures that you will git annex add all unlocked files git-annex can then discard or keep old data, depending on setupRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  14. 14. Intro Use cases Technical details OutroData integrity Set minimal number of required copies per suffix, directory, etc SHA1, SHA2-{224,256,384,512} for integrity All remotes and special remotes can be verified remotes verify locally and transmit the result special remotes transfer all data to verify Verification takes required amount of copies into account git fsck; git annex fsckRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  15. 15. Intro Use cases Technical details OutroSpecial remotes 1/2 Stores data in non-git-annex remotes Tracks all data stored in special remotes Supports encryption for storage on untrusted machines/media Hook system lets you write to and read from arbitrary remotesRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  16. 16. Intro Use cases Technical details OutroSpecial remotes 2/2 bup directory rsync S3, Swift, etc Tahoe-LAFS web (media.ccc.de, Project Gutenberg, archive.org, etc)Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  17. 17. Intro Use cases Technical details OutroOutline 1 Intro 2 Use cases 3 Technical details 4 OutroRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  18. 18. Intro Use cases Technical details OutroWhere to get it cabal install git-annex --bindir=$HOME/bin Native packages for Debian Ubuntu FreeBSD Arch Linux NixOSRichard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  19. 19. Intro Use cases Technical details OutroFurther reading https://github.com/RichiH/talks http://git-annex.branchable.com/ http://www.slideshare.net/RichiH/Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex
  20. 20. Intro Use cases Technical details OutroThanks! Thanks for listening! Questions? Follow me outside when my time-slot is over. See slide footer for further contact Information.Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.comgit-annex

×