Veracity Eric Sink eric@sourcegear.com 1
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
Why another DVCS? • Two different meanings for this question 3
First interpretation • What is different about Veracity? 4
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
Venn Diagram 6
History Review • Three generations of version control tools 7
First Generation • No networking, single file operations • RCS, SCCS 8
Second Generation • Centralized • CVS, Subversion, etc. 9
Third Generation • Distributed • Git, Mercurial, etc. 10
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
You Are Here 12
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
Why another DVCS? • Because the third generation of version control is just getting started. 14
What’s different? • Not “better”. • Different. • My F150 vs. JohnW’s motorcycle 15
Apache License • No GPL constraints 16
Commercial Open Source • As opposed to “community open source” • Patches? 17
Repository Storage Plugins • FS3 • MSSQL, Oracle, etc. 18
Hash Functions • SHA-1 default • SHA-2 • Skein • 256 or 512 bits 19
File Locks • Some people do need this feature. • Really. 20
JavaScript • Embedded scripting language. • Plugins • Automated test suite • Advanced features 21
User Accounts • Canonical user ID 22
Bug Tracking 23
Build Tracking 24
Scrum Burndown Charts 25
Decentralized Database • Used for: – Bug tracking and build tracking – User accounts – Comments – Tags – Who/when – Named branch references – Locks 26
How does that db work? • Just like decentralized version control – Directories and files – Records and fields • Changesets • Push and Pull • DAG • Merge 27
Intentional Branching? • No use case • Sync as often as you can • Degrade gracefully when offline 28
Template Driven • Record types • Fields • Field-by-field merge • Merge conflicts • Unique constrains – Generate – Resolution on merge 29
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
New Book • Including Subversion, Mercurial, Git and Veracity • Pros and cons of choosing distributed vs. centralized tools • Balanced 31
Links • Veracity – http://www.veracity-scm.com • Version Control by Example – http://www.ericsink.com/vcbe 32
Q&A 33
Thanks! • Followups: – @eric_sink – eric@sourcegear.com – clueless_idiot@sourcegear.com 34
Recommend
More recommend