veracity
play

Veracity Eric Sink eric@sourcegear.com 1 What is Veracity? Its a - PowerPoint PPT Presentation

Veracity Eric Sink eric@sourcegear.com 1 What is Veracity? Its a DVCS (distributed version control system) Its open source (Apache License) Its new (1.0 was released on Monday) 2 Why another DVCS? Two different


  1. Veracity Eric Sink eric@sourcegear.com 1

  2. What is Veracity? • It’s a DVCS (distributed version control system) • It’s open source (Apache License) • It’s new (1.0 was released on Monday) 2

  3. Why another DVCS? • Two different meanings for this question 3

  4. First interpretation • What is different about Veracity? 4

  5. Second Interpretation • Eric, you clueless idiot, what recreational pharmaceutical were you smoking when you decided to build yet another DVCS that has no chance of survival because Git has won and all other tools will eventually be crushed under the weight of the awesomeness of Torvalds and his disciples? 5

  6. Venn Diagram 6

  7. History Review • Three generations of version control tools 7

  8. First Generation • No networking, single file operations • RCS, SCCS 8

  9. Second Generation • Centralized • CVS, Subversion, etc. 9

  10. Third Generation • Distributed • Git, Mercurial, etc. 10

  11. The Generations Overlap • I talked to a guy yesterday who still uses RCS • Second generation, centralized version control is mainstream • DVCS is not. Not yet. 11

  12. You Are Here 12

  13. Subversion • Ignore what Linus said in that YouTube video • No matter what you think about svn, • It’s still the most popular version control tool in the world • For good reasons 13

  14. Why another DVCS? • Because the third generation of version control is just getting started. 14

  15. What’s different? • Not “better”. • Different. • My F150 vs. JohnW’s motorcycle 15

  16. Apache License • No GPL constraints 16

  17. Commercial Open Source • As opposed to “community open source” • Patches? 17

  18. Repository Storage Plugins • FS3 • MSSQL, Oracle, etc. 18

  19. Hash Functions • SHA-1 default • SHA-2 • Skein • 256 or 512 bits 19

  20. File Locks • Some people do need this feature. • Really. 20

  21. JavaScript • Embedded scripting language. • Plugins • Automated test suite • Advanced features 21

  22. User Accounts • Canonical user ID 22

  23. Bug Tracking 23

  24. Build Tracking 24

  25. Scrum Burndown Charts 25

  26. Decentralized Database • Used for: – Bug tracking and build tracking – User accounts – Comments – Tags – Who/when – Named branch references – Locks 26

  27. How does that db work? • Just like decentralized version control – Directories and files – Records and fields • Changesets • Push and Pull • DAG • Merge 27

  28. Intentional Branching? • No use case • Sync as often as you can • Degrade gracefully when offline 28

  29. Template Driven • Record types • Fields • Field-by-field merge • Merge conflicts • Unique constrains – Generate – Resolution on merge 29

  30. Offline • Train trip across Europe • DVCS = all your code is with you • Veracity = your bug database is with you as well • Push all your changes, both tree stuff and db stuff, when you arrive 30

  31. New Book • Including Subversion, Mercurial, Git and Veracity • Pros and cons of choosing distributed vs. centralized tools • Balanced 31

  32. Links • Veracity – http://www.veracity-scm.com • Version Control by Example – http://www.ericsink.com/vcbe 32

  33. Q&A 33

  34. Thanks! • Followups: – @eric_sink – eric@sourcegear.com – clueless_idiot@sourcegear.com 34

Recommend


More recommend