Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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–[email protected]–[email protected]
34