36
JOHN GARCIA DEVELOPER PHILOSOPHER ATLASSIAN @BITBUCKETEER The challenge of monorepos Dealing with Large Objects in Git

Git Large Object Binaries - Concepts and Directions

Embed Size (px)

Citation preview

Page 1: Git Large Object Binaries - Concepts and Directions

JOHN GARCIA • DEVELOPER PHILOSOPHER • ATLASSIAN • @BITBUCKETEER

The challenge of monoreposDealing with Large Objects in Git

Page 2: Git Large Object Binaries - Concepts and Directions

John Garcia, Developer-Philosopher

Page 3: Git Large Object Binaries - Concepts and Directions
Page 4: Git Large Object Binaries - Concepts and Directions
Page 5: Git Large Object Binaries - Concepts and Directions

Data Integrity

Page 6: Git Large Object Binaries - Concepts and Directions

Push/Pull

Ignore

Ignore

Branch Model

Page 7: Git Large Object Binaries - Concepts and Directions

../91/1e7..

File Splaying

Page 8: Git Large Object Binaries - Concepts and Directions

I decided that if I could paint that flower in a huge scale, you could not ignore its beauty. G E O R G I A O ’ K E E F E”

Page 9: Git Large Object Binaries - Concepts and Directions

Object Model

Page 10: Git Large Object Binaries - Concepts and Directions

Object Model

BIG

Page 11: Git Large Object Binaries - Concepts and Directions

Large Objects

Page 12: Git Large Object Binaries - Concepts and Directions

Large Objects

Page 13: Git Large Object Binaries - Concepts and Directions

548 Large Repository issues in 2 years

5.2 issues per week

Page 14: Git Large Object Binaries - Concepts and Directions

548 Large Repository issues in 2 years

5.2 issues per week

Page 15: Git Large Object Binaries - Concepts and Directions

Object Model

BIG

Page 16: Git Large Object Binaries - Concepts and Directions

Object Model

BIG

Page 17: Git Large Object Binaries - Concepts and Directions

DISCLAIMER

Page 18: Git Large Object Binaries - Concepts and Directions

ResearchCross-Platform

Performance

File Locking

Page 19: Git Large Object Binaries - Concepts and Directions

Performance

Page 20: Git Large Object Binaries - Concepts and Directions

Checkout Commit

BIG

49b

git-lob: 911e7..

Performance

Page 21: Git Large Object Binaries - Concepts and Directions

Checkout Commit

BIG

BIG

49b

git-lob: 911e7..

49b

git-lob: 911e7..

Performance

Page 22: Git Large Object Binaries - Concepts and Directions

Portability

Page 23: Git Large Object Binaries - Concepts and Directions

The worst enemy of life, freedom and the common decencies is total anarchy; their second worst enemy is total efficiency.

”A L D O U S H U X L E Y

Page 24: Git Large Object Binaries - Concepts and Directions

cc/na

Page 25: Git Large Object Binaries - Concepts and Directions

Merge Conflicts

Page 26: Git Large Object Binaries - Concepts and Directions

Branch Oriented File Locking

HEAD

Page 27: Git Large Object Binaries - Concepts and Directions

Branch Oriented File Locking

HEAD

Page 28: Git Large Object Binaries - Concepts and Directions

Branch Oriented File Locking

HEAD

Page 29: Git Large Object Binaries - Concepts and Directions

Branch Oriented File Locking

HEAD

--force

Page 30: Git Large Object Binaries - Concepts and Directions

Object Model

BIGlarge-obj

71e92..

../71e/92..

Page 31: Git Large Object Binaries - Concepts and Directions

Local Object Retention

90 30Days:

HEAD

Page 32: Git Large Object Binaries - Concepts and Directions

Local Object Retention

90 30Days:

HEAD

Page 33: Git Large Object Binaries - Concepts and Directions

Local Object Retention

90 30Days:

HEAD

Page 34: Git Large Object Binaries - Concepts and Directions

Local Object Retention

90 30Days:

HEAD

Page 35: Git Large Object Binaries - Concepts and Directions

Summary

Branch Aware

Cross Platform

Performance

Page 36: Git Large Object Binaries - Concepts and Directions

Thank you!

JOHN GARCIA • DEVELOPER-PHILOSOPHER • ATLASSIAN • @BITBUCKETEER