120 likes | 247 Views
Source Code Control Systems. Jaap Akkerhuis jaap@nlnetlabs.nl. SCCS. Why How RCS CVS More and more. Why Version Control. Software Engineering Auditing capabilaties Change tracking Undo mistakes. Method. Archive (per file) Deltas between versions
E N D
Source Code Control Systems Jaap Akkerhuis jaap@nlnetlabs.nl
SCCS • Why • How • RCS • CVS • More and more
Why Version Control • Software Engineering • Auditing capabilaties • Change tracking • Undo mistakes
Method • Archive (per file) • Deltas between versions • Delta's upon a complete version (SCCS) • Last version complete (RCS), delta's with previous • Branching, merging • for software Engineering
RCS intro • Archive with extension ,v • In sub directory RCS (if exists) • Commands asks • descriptive text • comments for changes
RCS: ci & co • CI: Checks a file in an archive • removes file • first time aks description • CO: Checks a file out an archive • file mode Read Only • CO -l • check out and locks file (RW) • CI -u • Updates archive • leaves file RO
Combined actions • ci -l • ci -u; co -l • rcsdiff -v1.1 -v1.9 • compares version • co -v1.1 > 1; co -v1.9 > 9; diff 1 9; rm 1 9
Auditing • Comments in Archive • rlog pokes in archive • RCS keywords in binary • $Log$ • TLD IN TXT "tld zone version $Log$ • Ident for binaries • Locks changes by other users
CVS • Based on RCS • Shell scripts by Dick Grune • Optimistic concurrency model • users seldom hack the same concurrently • Remote access • Keeps removed files in attic • allows going back in time
CVS repository • Central archive for project • Check out a whole project • cvs checkout • make changes • commit changes • merges files and changes • notifies for conflicting merges
Further googling • www.cvshome.org • subversion • tons of commercial software