Version Control: Importance, Tools, and Systems, Slides of Computer Science

The importance of version control in software development, introduces various diff tools, and explains the functionality of version control systems like sccs, rcs, and cvs. It also mentions the advantages and disadvantages of jdiff and provides commands for using these systems.

Typology: Slides

2012/2013

Uploaded on 03/19/2013

dharanidhar
dharanidhar 🇮🇳

4.2

(6)

58 documents

1 / 15

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Version Control
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Version Control: Importance, Tools, and Systems and more Slides Computer Science in PDF only on Docsity!

Version Control

Why version control?

  • Scenario 1:
    • Your program is working
    • You change “just one thing”
    • Your program breaks
    • You change it back
    • Your program is still broken-- why?
  • Has this ever happened to you?

Version control for teams

  • Scenario:
    • You change one part of a program--it works
    • Your co-worker changes another part--it works
    • You put them together--it doesn’t work
    • Some change in one part must have broken something in the other part
    • What were all the changes?

Teams (part 2)

  • Scenario:
    • You make a number of improvements to a class
    • Your co-worker makes a number of different improvements to the same class
  • How can you merge these changes?

jDiff

  • jDiff is a plugin for the jEdit editor
  • Advantages:
    • Everything is color coded
    • Uses synchronized scrolling
    • It's inside an editor--you can make changes directly
  • Disadvantages:
    • Not stand-alone, but must be used within jDiff
    • Just a diff tool, not a complete solution

jDiff

sccs

  • sccs is Source Code Control System (UNIX)
  • sccs keeps multiple versions of a complete directory
  • Storage requirements are small, because sccs:
    • keeps the original documents
    • keeps the changes needed to go from one version to the next
    • generates any version when you ask for it

rcs

  • rcs is Revision Control System (also UNIX)
  • rcs is like sccs, and does the same things, but
    • sccs keeps the originals, and applies changes to get to newer versions
    • rcs keeps the current versions, and applies changes to get back to older versions
  • (Opinion) You usually want to work with the newer versions, so rcs is usually the better choice

Who cares about UNIX?

  • CVS (Concurrent Versions System) is the most popular version control system on Windows
  • CVS is built on top of rcs
  • CVS is built into JBuilder and Eclipse
  • “There are two ways to run CVS on Windows 95/NT. The first is as a client, talking to a CVS server on a Unix box. This is the recommended setup and is commonly used.” -- http://www.cvshome.org/dev/codewindow.html

CVS commands

  • cvs checkout file
  • cvs commit file
  • cvs diff file
  • These are CVS commands under UNIXPopular GUIs on Windows: - tkCVS - jCVS - WinCVS