SlideShare a Scribd company logo
1 of 20
Download to read offline
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-05



Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Outline


        1   Intro


        2   Use cases


        3   Technical details


        4   Outro




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Outline


        1   Intro


        2   Use cases


        3   Technical details


        4   Outro




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Who 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
              adopter




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




What 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.com
git-annex
Intro                           Use cases                             Technical details   Outro




What 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-flows




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Outline


        1   Intro


        2   Use cases


        3   Technical details


        4   Outro




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




The 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
              copies




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Media 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 time




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




The 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 travelling




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Outline


        1   Intro


        2   Use cases


        3   Technical details


        4   Outro




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Internal 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 branch




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Internal 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
              setup




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Data 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 fsck




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Special 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
              remotes




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Special 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.com
git-annex
Intro                           Use cases                             Technical details   Outro




Outline


        1   Intro


        2   Use cases


        3   Technical details


        4   Outro




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Where to get it
              cabal install git-annex --bindir=$HOME/bin
              Native packages for
                     Debian
                     Ubuntu
                     FreeBSD
                     Arch Linux
                     NixOS




Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com
git-annex
Intro                           Use cases                             Technical details   Outro




Further 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.com
git-annex
Intro                           Use cases                             Technical details   Outro




Thanks!



                                            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.com
git-annex

More Related Content

Viewers also liked

Viewers also liked (20)

Indices 06 sep2013053740
Indices 06 sep2013053740Indices 06 sep2013053740
Indices 06 sep2013053740
 
Indices 29 aug2013064044
Indices 29 aug2013064044Indices 29 aug2013064044
Indices 29 aug2013064044
 
Gustave Eiffel
Gustave EiffelGustave Eiffel
Gustave Eiffel
 
Indices 07 jan2013044458
Indices 07 jan2013044458Indices 07 jan2013044458
Indices 07 jan2013044458
 
Indices 17 sep2012052449
Indices 17 sep2012052449Indices 17 sep2012052449
Indices 17 sep2012052449
 
Nick Keyes Slam!
Nick Keyes Slam!Nick Keyes Slam!
Nick Keyes Slam!
 
Indices 07 aug2013051116
Indices 07 aug2013051116Indices 07 aug2013051116
Indices 07 aug2013051116
 
Indices 11 jun2013052920
Indices 11 jun2013052920Indices 11 jun2013052920
Indices 11 jun2013052920
 
Flickr
FlickrFlickr
Flickr
 
Matt hatch Behemoth
Matt hatch BehemothMatt hatch Behemoth
Matt hatch Behemoth
 
大人自由研究「人が海に帰る日」 by 下野弘樹
大人自由研究「人が海に帰る日」 by 下野弘樹大人自由研究「人が海に帰る日」 by 下野弘樹
大人自由研究「人が海に帰る日」 by 下野弘樹
 
Indices 27 nov2013052236
Indices 27 nov2013052236Indices 27 nov2013052236
Indices 27 nov2013052236
 
Портфолио агентства Growth
Портфолио агентства GrowthПортфолио агентства Growth
Портфолио агентства Growth
 
Indices 26 aug2013063921
Indices 26 aug2013063921Indices 26 aug2013063921
Indices 26 aug2013063921
 
Indices 26 jul2013062513
Indices 26 jul2013062513Indices 26 jul2013062513
Indices 26 jul2013062513
 
Рейтинг сайтов политических партий
Рейтинг сайтов политических партийРейтинг сайтов политических партий
Рейтинг сайтов политических партий
 
Indices 23 jan2014052050
Indices 23 jan2014052050Indices 23 jan2014052050
Indices 23 jan2014052050
 
Indices 03 mar 2014
Indices 03 mar 2014Indices 03 mar 2014
Indices 03 mar 2014
 
Indices 19 nov2013054521
Indices 19 nov2013054521Indices 19 nov2013054521
Indices 19 nov2013054521
 
Ardilla osoa
Ardilla osoaArdilla osoa
Ardilla osoa
 

Similar to FOSDEM 2012 git-annex talk

FOSDEM 2012 vcsh talk
FOSDEM 2012 vcsh talkFOSDEM 2012 vcsh talk
FOSDEM 2012 vcsh talkRichiH
 
HDFS tiered storage: mounting object stores in HDFS
HDFS tiered storage: mounting object stores in HDFSHDFS tiered storage: mounting object stores in HDFS
HDFS tiered storage: mounting object stores in HDFSDataWorks Summit
 
GDPR compliance application architecture and implementation using Hadoop and ...
GDPR compliance application architecture and implementation using Hadoop and ...GDPR compliance application architecture and implementation using Hadoop and ...
GDPR compliance application architecture and implementation using Hadoop and ...DataWorks Summit
 
A brief introduction to RTIR
A brief introduction to RTIRA brief introduction to RTIR
A brief introduction to RTIRJesse Vincent
 
Homer metrics | LORENZO MANGANI Y FEDERICO CABIDDU - VoIP2DAY 2017
Homer metrics | LORENZO MANGANI Y FEDERICO CABIDDU - VoIP2DAY 2017Homer metrics | LORENZO MANGANI Y FEDERICO CABIDDU - VoIP2DAY 2017
Homer metrics | LORENZO MANGANI Y FEDERICO CABIDDU - VoIP2DAY 2017VOIP2DAY
 
Sinnreich Henry Johnston Alan Pt 2
Sinnreich Henry Johnston Alan   Pt 2Sinnreich Henry Johnston Alan   Pt 2
Sinnreich Henry Johnston Alan Pt 2Carl Ford
 
OSDC 2011 | RedHat Satellite - Einsatzweise und Möglichkeiten by Dirk Hermann
OSDC 2011 | RedHat Satellite - Einsatzweise und Möglichkeiten by Dirk HermannOSDC 2011 | RedHat Satellite - Einsatzweise und Möglichkeiten by Dirk Hermann
OSDC 2011 | RedHat Satellite - Einsatzweise und Möglichkeiten by Dirk HermannNETWAYS
 
Git/Gerrit with TeamForge
Git/Gerrit with TeamForgeGit/Gerrit with TeamForge
Git/Gerrit with TeamForgeCollabNet
 
CONFidence 2018: Attacking web servers via run time configuration (Eldar "Wir...
CONFidence 2018: Attacking web servers via run time configuration (Eldar "Wir...CONFidence 2018: Attacking web servers via run time configuration (Eldar "Wir...
CONFidence 2018: Attacking web servers via run time configuration (Eldar "Wir...PROIDEA
 
découverte du protocol à faible latence SRT (2024)
découverte du protocol à faible latence SRT (2024)découverte du protocol à faible latence SRT (2024)
découverte du protocol à faible latence SRT (2024)Thierry Gayet
 

Similar to FOSDEM 2012 git-annex talk (20)

FOSDEM 2012 vcsh talk
FOSDEM 2012 vcsh talkFOSDEM 2012 vcsh talk
FOSDEM 2012 vcsh talk
 
Gittor
GittorGittor
Gittor
 
On-Premise Private Cloud Architecture
On-Premise Private Cloud ArchitectureOn-Premise Private Cloud Architecture
On-Premise Private Cloud Architecture
 
HDFS tiered storage: mounting object stores in HDFS
HDFS tiered storage: mounting object stores in HDFSHDFS tiered storage: mounting object stores in HDFS
HDFS tiered storage: mounting object stores in HDFS
 
GDPR compliance application architecture and implementation using Hadoop and ...
GDPR compliance application architecture and implementation using Hadoop and ...GDPR compliance application architecture and implementation using Hadoop and ...
GDPR compliance application architecture and implementation using Hadoop and ...
 
HDF5 Tools
HDF5 ToolsHDF5 Tools
HDF5 Tools
 
A brief introduction to RTIR
A brief introduction to RTIRA brief introduction to RTIR
A brief introduction to RTIR
 
Homer metrics | LORENZO MANGANI Y FEDERICO CABIDDU - VoIP2DAY 2017
Homer metrics | LORENZO MANGANI Y FEDERICO CABIDDU - VoIP2DAY 2017Homer metrics | LORENZO MANGANI Y FEDERICO CABIDDU - VoIP2DAY 2017
Homer metrics | LORENZO MANGANI Y FEDERICO CABIDDU - VoIP2DAY 2017
 
tizen-maintain-20150413rzr
tizen-maintain-20150413rzrtizen-maintain-20150413rzr
tizen-maintain-20150413rzr
 
Deploy your own P2P network
Deploy your own P2P networkDeploy your own P2P network
Deploy your own P2P network
 
Sinnreich Henry Johnston Alan Pt 2
Sinnreich Henry Johnston Alan   Pt 2Sinnreich Henry Johnston Alan   Pt 2
Sinnreich Henry Johnston Alan Pt 2
 
OSDC 2011 | RedHat Satellite - Einsatzweise und Möglichkeiten by Dirk Hermann
OSDC 2011 | RedHat Satellite - Einsatzweise und Möglichkeiten by Dirk HermannOSDC 2011 | RedHat Satellite - Einsatzweise und Möglichkeiten by Dirk Hermann
OSDC 2011 | RedHat Satellite - Einsatzweise und Möglichkeiten by Dirk Hermann
 
Advances in Open Source Password Cracking
Advances in Open Source Password CrackingAdvances in Open Source Password Cracking
Advances in Open Source Password Cracking
 
The Nits and Grits of Git
The Nits and Grits of GitThe Nits and Grits of Git
The Nits and Grits of Git
 
Git/Gerrit with TeamForge
Git/Gerrit with TeamForgeGit/Gerrit with TeamForge
Git/Gerrit with TeamForge
 
Git Internals
Git InternalsGit Internals
Git Internals
 
CONFidence 2018: Attacking web servers via run time configuration (Eldar "Wir...
CONFidence 2018: Attacking web servers via run time configuration (Eldar "Wir...CONFidence 2018: Attacking web servers via run time configuration (Eldar "Wir...
CONFidence 2018: Attacking web servers via run time configuration (Eldar "Wir...
 
Roslyn on GitHub
Roslyn on GitHubRoslyn on GitHub
Roslyn on GitHub
 
Internet multimedia
Internet multimediaInternet multimedia
Internet multimedia
 
découverte du protocol à faible latence SRT (2024)
découverte du protocol à faible latence SRT (2024)découverte du protocol à faible latence SRT (2024)
découverte du protocol à faible latence SRT (2024)
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 

FOSDEM 2012 git-annex talk

  • 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-05 Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 2. Intro Use cases Technical details Outro Outline 1 Intro 2 Use cases 3 Technical details 4 Outro Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 3. Intro Use cases Technical details Outro Outline 1 Intro 2 Use cases 3 Technical details 4 Outro Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 4. Intro Use cases Technical details Outro Who 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 adopter Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 5. Intro Use cases Technical details Outro What 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.com git-annex
  • 6. Intro Use cases Technical details Outro What 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-flows Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 7. Intro Use cases Technical details Outro Outline 1 Intro 2 Use cases 3 Technical details 4 Outro Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 8. Intro Use cases Technical details Outro The 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 copies Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 9. Intro Use cases Technical details Outro Media 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 time Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 10. Intro Use cases Technical details Outro The 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 travelling Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 11. Intro Use cases Technical details Outro Outline 1 Intro 2 Use cases 3 Technical details 4 Outro Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 12. Intro Use cases Technical details Outro Internal 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 branch Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 13. Intro Use cases Technical details Outro Internal 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 setup Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 14. Intro Use cases Technical details Outro Data 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 fsck Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 15. Intro Use cases Technical details Outro Special 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 remotes Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 16. Intro Use cases Technical details Outro Special 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.com git-annex
  • 17. Intro Use cases Technical details Outro Outline 1 Intro 2 Use cases 3 Technical details 4 Outro Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 18. Intro Use cases Technical details Outro Where to get it cabal install git-annex --bindir=$HOME/bin Native packages for Debian Ubuntu FreeBSD Arch Linux NixOS Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com git-annex
  • 19. Intro Use cases Technical details Outro Further 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.com git-annex
  • 20. Intro Use cases Technical details Outro Thanks! 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.com git-annex