SlideShare a Scribd company logo
Concurrent Versions System
version
control
system
-1-
• CVS is a version control
system.
• Use to record the history of
your source files.
Concurrent Versions System
-2-
• For example, bugs sometimes
creep in when software is
modified, and you might not
detect the bug until a long time
after you make the modification.
Concurrent Versions System
-3-
• With CVS, you can easily
retrieve old versions to see
exactly which change caused the
bug. This can sometimes be a big
help.
Concurrent Versions System
-4-
• You could of course save every
version of every file you have
ever created. This would
however waste an enormous
amount of disk space.
Concurrent Versions System
-5-
• CVS stores all the versions of a
file in a single file in a clever
way that only stores the
differences between versions.
Concurrent Versions System
-6-
• CVS also helps you if you are
part of a group of people
working on the same project.
It is all too easy to overwrite
each others' changes unless
you are extremely careful.
Concurrent Versions System
-7-
• CVS solves this problem by
insulating the different
developers from each other.
Every developer works in his own
directory, and CVS merges the
work when each developer is
done.
Concurrent Versions System
-8-
• CVS started out as a bunch of
shell scripts written by Dick
Grune, posted to
comp.sources.unix in the
volume 6 release of December,
1986.
Concurrent Versions System
-9-
• CVS is primarily used as a
source code control system
for text files. Programmers will
generate revisions to
individual source code files. A
collection of these files may
define a specific software
release.
Concurrent Versions System
-10-
• CVS aims to manage the
collection of these files and
the respective revisions of the
individual files that make up the
collection.
Concurrent Versions System
-11-
• CVS is a command driven file
checkout, update, compare and
management system.
• CVS implements RCS for
management of individual files
through the use of the CVS command
set. Front end web and desktop GUI
systems are available to ease in the
use of CVS.
Concurrent Versions System
-12-
• CVS is a command driven file
checkout, update, compare and
management system.
• CVS implements RCS for
management of individual files
through the use of the CVS command
set. Front end web and desktop GUI
systems are available to ease in the
use of CVS.
Concurrent Versions System
-13-
Set environment variables:
(add to your .bashrc file)
Environment variables:
# export
CVSROOT='/home/Project/CVS_root'
(directory for CVS source code repository)
# export CVSEDITOR=/bin/vi
Setting up your environment for CVS:
-14-
Set environment variables:
(add to your .cshrc file) (for csh users)
Environment variables:
# setenv CVSROOT
'/home/Project/CVS_root'
# setenv CVSEDITOR /bin/vi
• CVSROOT: Location of CV source code
repository.
Setting up your environment for CVS:
-15-
Set environment variables:
(add to your .cshrc file) (for csh users)
Environment variables:
# setenv CVSROOT
'/home/Project/CVS_root'
# setenv CVSEDITOR /bin/vi
• CVSROOT: Location of CV source code
repository.
Setting up your environment for CVS:
-16-
• CVS stores all files in a
centralized repository: a directory
(such as `/usr/local/cvsroot')
which is populated with a
hierarchy of files and directories.
Basic concepts
-17-
You never access any of the files in
the repository directly.
Instead, you use CVS commands
to get your own copy of the files,
and then work on that copy.
Basic concepts
-18-
The files in the repository are
organized in modules.
Each module is made up of one or
more files, and can include files
from several directories.
A typical usage is to define one
module per project.
Basic concepts
-19-
A revision number always has an
even number of period-separated
decimal integers.
By default revision 1.1 is the first
revision of a file.
Revision numbers
-20-
Each version of a file has a
unique revision number.
Revision numbers look
like `1.1', `1.2', `1.3.2.2' or
even `1.3.2.2.4.5'.
Revision numbers
-21-
Each successive revision is given
a new number by increasing the
rightmost number by one.
The following figure displays a few
revisions, with newer revisions to
the right.
Revision numbers
1.1 1.2 1.3 1.4 1.5
-22-
Revision numbers
CVS is not limited to linear
development.
The revision tree can be split
into branches, where each branch
is a self-maintained line of
development. Changes made on
one branch can easily be moved
back to the main trunk.
-23-
Each branch has a branch number,
consisting of an odd number of
period-separated decimal
integers.
Revision numbers
-24-
The branch number is created by
appending an integer to the
revision number where the
corresponding branch forked off.
Having branch numbers allows
more than one branch to be
forked off from a certain revision.
Revision numbers
-25-
All revisions on a branch have
revision numbers formed by
appending an ordinal number to
the branch number. The following
figure illustrates branching with an
example.
Revision numbers
-26-
Revision numbers
-27-
The exact details of how the
branch number is constructed is
not need to be concerned about.
how it works: When CVS creates a
branch number it picks the first
unused even integer, starting with
2.
Revision numbers
-28-
So when you want to create a
branch from revision 6.4 it will be
numbered 6.4.2.
All branch numbers ending in a
zero (such as 6.4.0) are used
internally by CVS.
The branch 1.1.1 has a special
meaning.
Revision numbers
-29-
A file can have several
versions, as described above.
Likewise, a software product
can have several versions. A
software product is often given
a version number such
as `4.1.1'.
Versions, Revisions and Releases
-30-
Versions in the first sense are
called revisions in this document,
and versions in the second sense
are called releases.
To avoid confusion, the
word version is almost never used
in this document.
Versions, Revisions and Releases
-31-
• CVSNT keeps track of the version
history of a project (or set of files).
• CVSNT is based on the same
client-server architecture as the
Concurrent Versions System: __
CVSNT
-32-
– a server stores the current
version(s) of the project and its
history, and clients connect to
the server in order to check-
out a complete copy of the
project, work on this copy and
then later check-in their changes.
CVSNT
-33-
• A server may be a caching or
proxy server (a read only server
that passes on write requests to
another server) or a read and write
(normal) server.
CVSNT
-34-
Concurrent Versions System
For More
On CVS....
Next
Lecture....
-35-
Concurrent Versions System
LECTURE :: 2
-36-
• Access control for securing
projects and branches.
• Detailed audit and metrics
recorded in an SQL database.
• Authentication with Active
Directory.
CVSNT Server features include:
-37-
• Tracking everything about the
change - including whether it was
merged from somewhere
• A control panel to manage email
notification of changes, defect
tracking integration, and more.
CVSNT Server features include:
-38-
• Integrated repository
synchronization (for fail-over
servers).
• Supports UNICODE UTF-8/UCS-2
files and multi-lingual filenames.
• Native servers available for Mac
OS X, Windows, Linux, Solaris,
HPUX.
CVSNT Server features include:
-39-
• Supports reserved and
unreserved versioning
methodologies.
• CVSAPI for integration into 3rd
party products.
• Script, COM and 3GL interface for
triggers and integration into 3rd
party tools (such as defect tracking)
CVSNT Server features include:
-40-
• CVSNT can do a lot of things for
you, but it does not try to be
everything for everyone.
• cvsnt is not a build system.
• cvsnt does not dictate how you
build anything. It merely stores
files for retrieval in a tree
structure you devise.
CVSNT Limitations:
-41-
• CVNT does not dictate how to use
disk space in the checked out
working directories. If you write
your Makefiles or scripts in every
directory so they have to know the
relative positions of everything
else, you wind up requiring the
entire repository to be checked out.
CVSNT Limitations:
-42-
• CVSNT is not an automated
testing program.
• CVSNT does not have a built-in
process model.
CVSNT Limitations:
-43-
• It is possible to use CVS with
multiple user but we take example
for one user with user name foobar.
1. First Login as root, and execute the
following.
Working With CVS
-44-
2) To provide cvs rights to "foofoo",
but it can be any user on your
system.
# mkdir /usr/local/cvs
# chown mark /usr/local/cvs
Working With CVS
-45-
3) Now login as "foobar" and do the
following.
4) Edit your .bashrc file using vi or
emacs or other, and enter these
commands.
# CVSROOT=/usr/local/cvs
Working With CVS
-46-
5) Save and then execute "source
.bashrc".
Now when you log in, it will
setup your environment to use
this directory by default if you
don't specify a directory to use.
Working With CVS
-47-
6) Make a directory, which is need
for cvs.
# mkdir
/usr/local/cvs/CVSROOT
7) Upload files to the CVS
repository
Working With CVS
-48-
-49-

More Related Content

PPTX
Compiler construction
PPTX
System Resource Utilization Monitor を知ろう
PPT
Principles of compiler design
PDF
Phuong trinh he pt
PDF
Qt Installer Framework
 
PPT
HCI 3e - Ch 1: The human
PPS
Linux17 MySQL_installation
PDF
Disabled Tourist Guide - Morroco
Compiler construction
System Resource Utilization Monitor を知ろう
Principles of compiler design
Phuong trinh he pt
Qt Installer Framework
 
HCI 3e - Ch 1: The human
Linux17 MySQL_installation
Disabled Tourist Guide - Morroco

Viewers also liked (18)

PPS
Linux16 RPM
PPT
Collection framework
PPS
Linux12 clustering onlinux
PPSX
Agile projectdevelopment
PPS
Linux14 Dynamic DNS
PPS
Linux15 dynamic dns-2
PDF
Feed management in an intensive shrimp farming system with bioflocs
PPT
Technique Of Shrimp Culture (Final) Vuong
PDF
Tilapia Cage Farm Management In Brazil
PPS
Difference WAMP and XAMPP
PPTX
Introduction to aquaculture
PDF
Polyculture and Integrated Tilapia Farming Systems - Kuala Lumpur, Malaysia
PDF
Overfishing & Aquaculture
PPTX
Cage culture
PPT
Cage Culture 3
PPTX
Presentation on Brick Masonry, Paint and Plastering
PDF
eCertificate-JAVA-2
PPS
SAP for Beginners
Linux16 RPM
Collection framework
Linux12 clustering onlinux
Agile projectdevelopment
Linux14 Dynamic DNS
Linux15 dynamic dns-2
Feed management in an intensive shrimp farming system with bioflocs
Technique Of Shrimp Culture (Final) Vuong
Tilapia Cage Farm Management In Brazil
Difference WAMP and XAMPP
Introduction to aquaculture
Polyculture and Integrated Tilapia Farming Systems - Kuala Lumpur, Malaysia
Overfishing & Aquaculture
Cage culture
Cage Culture 3
Presentation on Brick Masonry, Paint and Plastering
eCertificate-JAVA-2
SAP for Beginners
Ad

Similar to Linux13 concurrent versions system (20)

PPT
Source Code Management in DEVOPS PowerPoint presentation
PDF
Version Management with CVS
PPTX
Slide set 7 (Source Code Management History Overview) - Copy.pptx
PDF
How to use CVS applied to SOLab
PPT
Introduction to Version Control and Configuration Management
PPT
Version Control
PDF
Version Management With Cvs Per Cederqvist
PPTX
PDF
VCS. Three letters that can change your life
PDF
IRJET-Evolution of Version Control Systems and a Study on Tortoisesvn
PPT
Introduction to CVS
PPT
Version Control With CVS
PDF
L06 a versioning_system_overview
PDF
KEY
Version Control Lassosoft 2009 Lasso Developers Conference
PPTX
01 - Introduction to Version Control
PPT
introduction to CVS
PPTX
Concurrent version management(tortoise CVS)
PPT
Source Code management System
Source Code Management in DEVOPS PowerPoint presentation
Version Management with CVS
Slide set 7 (Source Code Management History Overview) - Copy.pptx
How to use CVS applied to SOLab
Introduction to Version Control and Configuration Management
Version Control
Version Management With Cvs Per Cederqvist
VCS. Three letters that can change your life
IRJET-Evolution of Version Control Systems and a Study on Tortoisesvn
Introduction to CVS
Version Control With CVS
L06 a versioning_system_overview
Version Control Lassosoft 2009 Lasso Developers Conference
01 - Introduction to Version Control
introduction to CVS
Concurrent version management(tortoise CVS)
Source Code management System
Ad

More from Jainul Musani (20)

PDF
Core Java Interface Concepts for BCA Studetns
PDF
Java Abstract and Final Class for BCA students
PDF
Java Collection Framework for BCA Students
PDF
Simple Calculator using JavaFx a part of Advance Java
PDF
JavaFx Introduction, Basic JavaFx Architecture
PDF
ASP.NET 2010, WebServices Full Example for BCA Students
PDF
Palindrome Programme in PHP for BCA students
PDF
Leap Year Program in PHP for BCA students
PDF
"PHP and MySQL CRUD Operations for Student Management System"
PDF
Python: The Versatile Programming Language - Introduction
PPTX
Python a Versatile Programming Language - Introduction
PDF
React js t8 - inlinecss
PDF
React js t7 - forms-events
PDF
React js t6 -lifecycle
PDF
React js t5 - state
PDF
React js t4 - components
PDF
React js t3 - es6
PDF
React js t2 - jsx
PDF
React js t1 - introduction
PPTX
ExpressJs Session01
Core Java Interface Concepts for BCA Studetns
Java Abstract and Final Class for BCA students
Java Collection Framework for BCA Students
Simple Calculator using JavaFx a part of Advance Java
JavaFx Introduction, Basic JavaFx Architecture
ASP.NET 2010, WebServices Full Example for BCA Students
Palindrome Programme in PHP for BCA students
Leap Year Program in PHP for BCA students
"PHP and MySQL CRUD Operations for Student Management System"
Python: The Versatile Programming Language - Introduction
Python a Versatile Programming Language - Introduction
React js t8 - inlinecss
React js t7 - forms-events
React js t6 -lifecycle
React js t5 - state
React js t4 - components
React js t3 - es6
React js t2 - jsx
React js t1 - introduction
ExpressJs Session01

Recently uploaded (20)

PPTX
master seminar digital applications in india
PDF
Insiders guide to clinical Medicine.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
Institutional Correction lecture only . . .
PPTX
Pharma ospi slides which help in ospi learning
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Classroom Observation Tools for Teachers
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
Sports Quiz easy sports quiz sports quiz
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
01-Introduction-to-Information-Management.pdf
master seminar digital applications in india
Insiders guide to clinical Medicine.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Institutional Correction lecture only . . .
Pharma ospi slides which help in ospi learning
Abdominal Access Techniques with Prof. Dr. R K Mishra
Classroom Observation Tools for Teachers
O7-L3 Supply Chain Operations - ICLT Program
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Module 4: Burden of Disease Tutorial Slides S2 2025
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Sports Quiz easy sports quiz sports quiz
STATICS OF THE RIGID BODIES Hibbelers.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
01-Introduction-to-Information-Management.pdf

Linux13 concurrent versions system

  • 2. • CVS is a version control system. • Use to record the history of your source files. Concurrent Versions System -2-
  • 3. • For example, bugs sometimes creep in when software is modified, and you might not detect the bug until a long time after you make the modification. Concurrent Versions System -3-
  • 4. • With CVS, you can easily retrieve old versions to see exactly which change caused the bug. This can sometimes be a big help. Concurrent Versions System -4-
  • 5. • You could of course save every version of every file you have ever created. This would however waste an enormous amount of disk space. Concurrent Versions System -5-
  • 6. • CVS stores all the versions of a file in a single file in a clever way that only stores the differences between versions. Concurrent Versions System -6-
  • 7. • CVS also helps you if you are part of a group of people working on the same project. It is all too easy to overwrite each others' changes unless you are extremely careful. Concurrent Versions System -7-
  • 8. • CVS solves this problem by insulating the different developers from each other. Every developer works in his own directory, and CVS merges the work when each developer is done. Concurrent Versions System -8-
  • 9. • CVS started out as a bunch of shell scripts written by Dick Grune, posted to comp.sources.unix in the volume 6 release of December, 1986. Concurrent Versions System -9-
  • 10. • CVS is primarily used as a source code control system for text files. Programmers will generate revisions to individual source code files. A collection of these files may define a specific software release. Concurrent Versions System -10-
  • 11. • CVS aims to manage the collection of these files and the respective revisions of the individual files that make up the collection. Concurrent Versions System -11-
  • 12. • CVS is a command driven file checkout, update, compare and management system. • CVS implements RCS for management of individual files through the use of the CVS command set. Front end web and desktop GUI systems are available to ease in the use of CVS. Concurrent Versions System -12-
  • 13. • CVS is a command driven file checkout, update, compare and management system. • CVS implements RCS for management of individual files through the use of the CVS command set. Front end web and desktop GUI systems are available to ease in the use of CVS. Concurrent Versions System -13-
  • 14. Set environment variables: (add to your .bashrc file) Environment variables: # export CVSROOT='/home/Project/CVS_root' (directory for CVS source code repository) # export CVSEDITOR=/bin/vi Setting up your environment for CVS: -14-
  • 15. Set environment variables: (add to your .cshrc file) (for csh users) Environment variables: # setenv CVSROOT '/home/Project/CVS_root' # setenv CVSEDITOR /bin/vi • CVSROOT: Location of CV source code repository. Setting up your environment for CVS: -15-
  • 16. Set environment variables: (add to your .cshrc file) (for csh users) Environment variables: # setenv CVSROOT '/home/Project/CVS_root' # setenv CVSEDITOR /bin/vi • CVSROOT: Location of CV source code repository. Setting up your environment for CVS: -16-
  • 17. • CVS stores all files in a centralized repository: a directory (such as `/usr/local/cvsroot') which is populated with a hierarchy of files and directories. Basic concepts -17-
  • 18. You never access any of the files in the repository directly. Instead, you use CVS commands to get your own copy of the files, and then work on that copy. Basic concepts -18-
  • 19. The files in the repository are organized in modules. Each module is made up of one or more files, and can include files from several directories. A typical usage is to define one module per project. Basic concepts -19-
  • 20. A revision number always has an even number of period-separated decimal integers. By default revision 1.1 is the first revision of a file. Revision numbers -20-
  • 21. Each version of a file has a unique revision number. Revision numbers look like `1.1', `1.2', `1.3.2.2' or even `1.3.2.2.4.5'. Revision numbers -21-
  • 22. Each successive revision is given a new number by increasing the rightmost number by one. The following figure displays a few revisions, with newer revisions to the right. Revision numbers 1.1 1.2 1.3 1.4 1.5 -22-
  • 23. Revision numbers CVS is not limited to linear development. The revision tree can be split into branches, where each branch is a self-maintained line of development. Changes made on one branch can easily be moved back to the main trunk. -23-
  • 24. Each branch has a branch number, consisting of an odd number of period-separated decimal integers. Revision numbers -24-
  • 25. The branch number is created by appending an integer to the revision number where the corresponding branch forked off. Having branch numbers allows more than one branch to be forked off from a certain revision. Revision numbers -25-
  • 26. All revisions on a branch have revision numbers formed by appending an ordinal number to the branch number. The following figure illustrates branching with an example. Revision numbers -26-
  • 28. The exact details of how the branch number is constructed is not need to be concerned about. how it works: When CVS creates a branch number it picks the first unused even integer, starting with 2. Revision numbers -28-
  • 29. So when you want to create a branch from revision 6.4 it will be numbered 6.4.2. All branch numbers ending in a zero (such as 6.4.0) are used internally by CVS. The branch 1.1.1 has a special meaning. Revision numbers -29-
  • 30. A file can have several versions, as described above. Likewise, a software product can have several versions. A software product is often given a version number such as `4.1.1'. Versions, Revisions and Releases -30-
  • 31. Versions in the first sense are called revisions in this document, and versions in the second sense are called releases. To avoid confusion, the word version is almost never used in this document. Versions, Revisions and Releases -31-
  • 32. • CVSNT keeps track of the version history of a project (or set of files). • CVSNT is based on the same client-server architecture as the Concurrent Versions System: __ CVSNT -32-
  • 33. – a server stores the current version(s) of the project and its history, and clients connect to the server in order to check- out a complete copy of the project, work on this copy and then later check-in their changes. CVSNT -33-
  • 34. • A server may be a caching or proxy server (a read only server that passes on write requests to another server) or a read and write (normal) server. CVSNT -34-
  • 35. Concurrent Versions System For More On CVS.... Next Lecture.... -35-
  • 37. • Access control for securing projects and branches. • Detailed audit and metrics recorded in an SQL database. • Authentication with Active Directory. CVSNT Server features include: -37-
  • 38. • Tracking everything about the change - including whether it was merged from somewhere • A control panel to manage email notification of changes, defect tracking integration, and more. CVSNT Server features include: -38-
  • 39. • Integrated repository synchronization (for fail-over servers). • Supports UNICODE UTF-8/UCS-2 files and multi-lingual filenames. • Native servers available for Mac OS X, Windows, Linux, Solaris, HPUX. CVSNT Server features include: -39-
  • 40. • Supports reserved and unreserved versioning methodologies. • CVSAPI for integration into 3rd party products. • Script, COM and 3GL interface for triggers and integration into 3rd party tools (such as defect tracking) CVSNT Server features include: -40-
  • 41. • CVSNT can do a lot of things for you, but it does not try to be everything for everyone. • cvsnt is not a build system. • cvsnt does not dictate how you build anything. It merely stores files for retrieval in a tree structure you devise. CVSNT Limitations: -41-
  • 42. • CVNT does not dictate how to use disk space in the checked out working directories. If you write your Makefiles or scripts in every directory so they have to know the relative positions of everything else, you wind up requiring the entire repository to be checked out. CVSNT Limitations: -42-
  • 43. • CVSNT is not an automated testing program. • CVSNT does not have a built-in process model. CVSNT Limitations: -43-
  • 44. • It is possible to use CVS with multiple user but we take example for one user with user name foobar. 1. First Login as root, and execute the following. Working With CVS -44-
  • 45. 2) To provide cvs rights to "foofoo", but it can be any user on your system. # mkdir /usr/local/cvs # chown mark /usr/local/cvs Working With CVS -45-
  • 46. 3) Now login as "foobar" and do the following. 4) Edit your .bashrc file using vi or emacs or other, and enter these commands. # CVSROOT=/usr/local/cvs Working With CVS -46-
  • 47. 5) Save and then execute "source .bashrc". Now when you log in, it will setup your environment to use this directory by default if you don't specify a directory to use. Working With CVS -47-
  • 48. 6) Make a directory, which is need for cvs. # mkdir /usr/local/cvs/CVSROOT 7) Upload files to the CVS repository Working With CVS -48-
  • 49. -49-