34
Veracity 1 Eric Sink [email protected]

Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

Veracity

1

Eric [email protected]

Page 2: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

Page 3: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

Why another DVCS?• Two different meanings for this question

3

Page 4: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

First interpretation•What is different about Veracity?

4

Page 5: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

Page 6: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

Venn Diagram

6

Page 7: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

History Review• Three generations of version control tools

7

Page 8: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

8

Page 9: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

Second Generation• Centralized• CVS, Subversion, etc.

9

Page 10: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

Third Generation• Distributed• Git, Mercurial, etc.

10

Page 11: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

Page 12: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

You Are Here

12

Page 13: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

Page 14: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

14

Page 15: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

15

Page 16: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

Apache License• No GPL constraints

16

Page 17: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

17

Page 18: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

18

Page 19: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

19

Page 20: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

20

Page 21: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

21

Page 22: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

User Accounts• Canonical user ID

22

Page 23: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

Bug Tracking

23

Page 24: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

Build Tracking

24

Page 25: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

Scrum Burndown Charts

25

Page 26: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

26

Page 27: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

How does that db work?• Just like decentralized version control–Directories and files–Records and fields

• Changesets• Push and Pull• DAG• Merge

27

Page 28: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

28

Page 29: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

29

Page 30: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

Page 31: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

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

31

Page 32: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

Links• Veracity–http://www.veracity-scm.com

• Version Control by Example–http://www.ericsink.com/vcbe

32

Page 33: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

Q&A

33

Page 34: Veracity - O'Reilly Mediaassets.en.oreilly.com/1/event/61/Introduction to Veracity Presentation.pdfWhat is Veracity? •It’s a DVCS (distributed version control system) •It’s

Thanks!• Followups:–@eric_sink–[email protected][email protected]

34