How I Learned to Love Revision Control

46
How I Learned to Love Revision Control A general Introduction, Anecdotes, and various Use Cases Dave Gray, <[email protected] >, OSCON ‘08

description

 

Transcript of How I Learned to Love Revision Control

Page 1: How I Learned to Love Revision Control

How I Learned to LoveRevision Control

A general Introduction, Anecdotes, and various Use Cases

Dave Gray, <[email protected]>, OSCON ‘08

Page 2: How I Learned to Love Revision Control

Well Hello There!

Who is this guy?

Page 3: How I Learned to Love Revision Control

What the...?

(what to expect from this session)

intro!focus.

anecdotes,methods,

and questions.

Page 4: How I Learned to Love Revision Control

What do you do?

Who are all these people?

Page 5: How I Learned to Love Revision Control

What the...?

(what to expect from this session)

What, is it

Page 6: How I Learned to Love Revision Control

What the...?

(what to expect from this session)

What, is it

Why, do I care

Page 7: How I Learned to Love Revision Control

What the...?

(what to expect from this session)

What, is it

Why, do I care

How.can I use it

Page 8: How I Learned to Love Revision Control

What it is

different things to different people

Page 9: How I Learned to Love Revision Control

What it is

different things to different people

great way to start a religious war

Page 10: How I Learned to Love Revision Control

What it is

different things to different people

great way to start a religious war

generally, Murphy protection...

Page 11: How I Learned to Love Revision Control

Why do I care

Murphy again

Page 12: How I Learned to Love Revision Control

Why do I care

Murphy again

teamwork, visibility

Page 13: How I Learned to Love Revision Control

Why do I care

Murphy again

teamwork, visibility

sanity, organization

Page 14: How I Learned to Love Revision Control

How can I use it

mirroring workflow strictly

Page 15: How I Learned to Love Revision Control

How can I use it

mirroring workflow strictly

simple “backup”

Page 16: How I Learned to Love Revision Control

How can I use it

mirroring workflow strictly

simple “backup”

various other complicated schemes

Page 17: How I Learned to Love Revision Control

That’s our focus

not about what’s better!

Page 18: How I Learned to Love Revision Control

That’s our focus

not about what’s better!

general techniques

Page 19: How I Learned to Love Revision Control

That’s our focus

not about what’s better!

general techniques

fit it into your architecture

Page 20: How I Learned to Love Revision Control

That’s the overview

Now, basic commands!

Page 21: How I Learned to Love Revision Control

How to get stuff.

checkout

Page 22: How I Learned to Love Revision Control

How to store changes.

commit

Page 23: How I Learned to Love Revision Control

How to store new things.

add

Page 24: How I Learned to Love Revision Control

How to get rid of things.

delete

Page 25: How I Learned to Love Revision Control

How to cover your tracks.

svnadmin dump | svndumpfilter * |svnadmin load

Page 26: How I Learned to Love Revision Control

Some quick definitions.

trunkbranch

Page 27: How I Learned to Love Revision Control

Some quick definitions.

trunkbranch{ development

release

Page 28: How I Learned to Love Revision Control

Organization strategies

software engineeringtags (read-only)

branches (isolation) parallel development{

Page 29: How I Learned to Love Revision Control

Organization strategies

software engineeringtags (read-only)

branches (isolation) parallel development{

website developmenttesting (sandboxed)

staging (QA testing) parallel development{

Page 30: How I Learned to Love Revision Control

Organization strategies

software engineeringtags (read-only)

branches (isolation) parallel development{

website developmenttesting (sandboxed)

staging (QA testing) parallel development{

systems managementbackup (quick recovery)

organization documentation{

Page 31: How I Learned to Love Revision Control

How did I learn to <3 revision control?

didn’t know what it was for a while

Page 32: How I Learned to Love Revision Control

How did I learn to <3 revision control?

didn’t know what it was for a while

looking back...

Page 33: How I Learned to Love Revision Control

The Web Hosting Company

©

Page 34: How I Learned to Love Revision Control

The Web Hosting Company

web serverweb server

web serverweb server

Hummmmmm...

©

Page 35: How I Learned to Love Revision Control

The Web Hosting Company

web serverweb server

web serverweb server

Hummmmmm...

Billing Dept.

.._ .._.._

.._

.._

.._ .._

.._

.._ .._.._

.._

.._

The website is down.©

Page 36: How I Learned to Love Revision Control

The Web Hosting Company

Tech Support

. ._. ._. ._ . ._

. ._. ._

. ._. ._

. ._

. ._

. ._

. ._. ._

. ._

. ._

How many timesdid you reboot it?

web serverweb server

web serverweb server

Hummmmmm...

Billing Dept.

.._ .._.._

.._

.._

.._ .._

.._

.._ .._.._

.._

.._

The website is down.©

Page 37: How I Learned to Love Revision Control

The Web Hosting Company

Tech Support

. ._. ._. ._ . ._

. ._. ._

. ._. ._

. ._

. ._

. ._

. ._. ._

. ._

. ._

How many timesdid you reboot it?

web serverweb server

web serverweb server

Hummmmmm...

SysAdmins &Coders

.._.._ .._

.._.._

.._

You need toreboot it at leasttwo more times.

Billing Dept.

.._ .._.._

.._

.._

.._ .._

.._

.._ .._.._

.._

.._

The website is down.©

Page 38: How I Learned to Love Revision Control

Understand what we have

What sort of data are we dealing with?

What sort of processes does this data support?

How did these processes get built up?

Page 39: How I Learned to Love Revision Control

Plan for the worst case

Your single point of failure just exploded...

Do you have a way to recover?

Identify your weaknesses and fortify them!

Page 40: How I Learned to Love Revision Control

The Automated Publishing Company

©

Page 41: How I Learned to Love Revision Control

The Automated Publishing Company

©

Software Engineers

. ._ . ._

. ._ . ._. ._. ._

Page 42: How I Learned to Love Revision Control

The Automated Publishing Company

©

Software Engineers

. ._ . ._

. ._ . ._. ._. ._

Software Consultants. ._

. ._

. ._

. ._

. ._

. ._ . ._. ._

. ._

Page 43: How I Learned to Love Revision Control

The Automated Publishing Company

©

Software Engineers

. ._ . ._

. ._ . ._. ._. ._

Software Consultants. ._

. ._

. ._

. ._

. ._

. ._ . ._. ._

. ._

Clients

.._ .._

.._

.._

.._

.._

.._

.._.._

.._.._

.._

.._

.._

.._.._

.._

Page 44: How I Learned to Love Revision Control

The Software Company

©

Software Engineers& Integrators

Software Support

Clients

.._ .._

.._

.._

.._

.._

.._

.._.._

.._.._

.._

.._

.._

.._.._

.._

. ._. ._ . ._

. ._

. ._

. ._ . ._. ._

. ._

. ._

. ._. ._

Page 45: How I Learned to Love Revision Control

Age of software project

Projectstart Client A Client B Client C

Project Timeline

Page 46: How I Learned to Love Revision Control

THE END

<http://omniti.com/is/hiring/>

<http://messagesystems.com/company/companyCareers.html>

Looking for a job?