What has source control ever done for us?

Embed Size (px)

Citation preview

Numbers on Dark Background

What has the Romans source control ever done for us?

Andrew GrimmUniversity of NewSouth Wales

My own background

Used SFTP when programming in PHP

Switched to SVN when I started using RailsThe worse, the better

First used git to contribute to open source project bioruby, and switched the weather in london from SVN to git in anticipation of railscamp 4

What source control does for me

Avoids the need to copy files from A to B

Keeps backups so that I don't have to worry about bad changesDon't need to use that as often as you'd think

Poor man's work log

Self code review

Subversion

Slogan is CVS done rightWith that kind of slogan, there's nowhere you can go. There is no way to do CVS right. - Torvalds

If it ain't broke, don't fix it?RORO-ers live on the bleeding edge!

Git's creation

Created by Linus Torvalds (of Linux fame)

None of the source control programs were suitable for Linux, so he created his own

In two weeks!

Advantages of Git

Distributed source controlNo single centralized repository

Can make commits locally, and push to another repository when you want toUseful if the network is down

Can fix imperfect commits (eg forgetting to add a new file)

Can make partial commits

Only has one .git directory, rather than many .svn directories

Disadvantages of git

Have to add and commit, rather than just commit

Doesn't like empty directories (use empty .gitignore to make the directory un-empty)

Converting old SVN projects to git needs to be done using UNIX-based computers

Git allows you to alter the past, 1984-style.

Conclusion

Source control is a useful form of exomemory, keeping information about a project with the project rather than in your wetware