$30 off During Our Annual Pro Sale. View Details »

A talk about libgit2

Vicent Martí
November 16, 2011
1.4k

A talk about libgit2

libgit2 is made of fluffy stuff. It's a fine library. I gave this talk at the Gittogether 2011.

Vicent Martí

November 16, 2011
Tweet

Transcript

  1. The short talk
    where you hear
    about libgit2 for
    the first time in a
    w h i l e a n d g e t
    s u p e r e x c i t e d
    about it.

    View Slide

  2. work
    Vicent
    Martí
    [email protected]
    @tanoku

    View Slide

  3. VCS are broken by

    View Slide

  4. VCS are broken by
    design (CVS, SVN...)

    View Slide

  5. VCS are broken by
    design (CVS, SVN...)
    or implementation
    (Git)

    View Slide

  6. UNIX
    WAY
    THE

    View Slide

  7. UNIX
    WAY
    only works on UNIX
    THE

    View Slide

  8. UNIX
    WAY
    only works on UNIX
    THE
    ...and not always

    View Slide

  9. View Slide

  10. THIS IS BAD

    View Slide

  11. THIS IS BAD
    and we should
    feel bad

    View Slide

  12. JGit
    Dulwich
    Grit
    libgit2
    ...

    View Slide

  13. SVN
    JGit
    Dulwich
    Grit
    libgit2
    ...

    View Slide

  14. SVN
    Py
    JGit
    Dulwich
    Grit
    libgit2
    ...

    View Slide

  15. libgit2
    a magical world of ponies,
    fluffy clouds
    and cross-platform compatibility

    View Slide

  16. C
    yes, that’s a feature now

    View Slide

  17. dep
    Zero. Nicht. Nada.
    0

    View Slide

  18. runs

    View Slide

  19. runs everywhere

    View Slide

  20. Windows
    XP, Vista, 7
    Linux MacOS X
    10.5, 10.6, 10.7
    FreeBSD
    OpenBSD
    iOS
    4, 5
    MSVC
    2003, 2005,
    2008, 2010
    GCC
    3.4+
    GCC
    3.4+
    GCC
    3.4+
    LLVM
    apple-cur
    MinGW
    current
    ICC LLVM
    Cygwin LLVM

    View Slide

  21. Windows
    XP, Vista, 7
    Linux MacOS X
    10.5, 10.6, 10.7
    FreeBSD
    OpenBSD
    iOS
    4, 5
    MSVC
    2003, 2005,
    2008, 2010
    GCC
    3.4+
    GCC
    3.4+
    GCC
    3.4+
    LLVM
    apple-cur
    MinGW
    current
    ICC LLVM
    Cygwin LLVM
    ⤹now

    View Slide

  22. runs everywhere

    View Slide

  23. runs everywhere
    natively

    View Slide

  24. runs everywhere
    natively

    with

    View Slide

  25. runs everywhere
    natively

    with

    View Slide

  26. 200+ API calls

    View Slide

  27. github.com/libgit2
    [email protected]

    View Slide