Professional Documents
Culture Documents
Lecture # 6
Software Configuration
Management-II
AYESHA RAANA
Lecturer
GCWU SIALKOT
Email:: ayesha.raana@gcwus.edu.pk
- Version Control
- Change Control
- Configuration Audit
- Status Reporting
Versions/variants/releases/revision
Version An instance of a system which is functionally distinct in
some way from other system instances.
If two developers try to change the same file at the same time,
without some method of managing access the developers may end
up overwriting each other's work.
Once one developer "checks out" a file, others can read that file,
but no one else may change that file until that developer "checks in"
the updated version (or cancels the checkout).
However, if the files are left exclusively locked for too long, other
developers may be tempted to bypass the revision control software
and change the files locally, leading to more serious problems.
Version Control
The second developer checking in code will need to take care with
the merge, to make sure that the changes are compatible and that
the merge operation does not introduce its own logic errors within
the program.
Version Control
Distributed revision control systems takes a peer-to-peer
approach, as opposed to the client-server approach of centralized
systems.
Commit
A commit (checkin, ci or, more rarely, install, submit or record)
occurs when writing or merging a copy of the changes made to the
working copy into the repository.
Change
A change (or diff, or delta) represents a specific modification to a
document under version control.
Change list
On many version control systems, a changelist, change set, or
patch identifies the set of changes made in a single commit.
Checkout
A check-out (or co) creates a local working copy from the
repository. A user may specify a specific revision or obtain the latest.
Version Control
Working copy
The working copy is the local copy of files from a repository, at a
specific time or revision. All work done to the files in a repository is
initially done on a working copy, hence the name. Conceptually, it is
a sandbox
Conflict
A conflict occurs when different parties make changes to the same
document, and the system is unable to reconcile the changes. A user
must resolve the conflict by combining the changes, or by selecting
one change in favor of the other.
Delta compression
Most revision control software uses delta compression, which retains
only the differences between successive versions of files. This allows
for more efficient storage of many different versions of files.
Head
The most recent commit.
Version Control
Branch
Merge
A merge or integration is an operation in which two sets of
changes are applied to a file or set of files.
This may happen when one user, working on those files, updates
their working copy with changes made, and checked into the
repository, by other users. Conversely, this same process may
happen in the repository when a user tries to check-in changes.
Promote
The act of copying file content from a less controlled location into a
more controlled location. For example, from a user's workspace into
a repository, or from a stream to its parent.
Repository
The repository is where files' current and historical data are stored,
often on a server. Sometimes also called a depot
Update
An update (or sync) merges changes made in the repository (by
other people, for example) into the local working copy.
Reverse Integration
The process of merging different team branches into a main trunk of
the versioning system
Trunk
The unique line of development that is not a branch
Change Control
The “Check in” and “Check out process implements two important
elements of change control
Access Control
Access control governs which software engineers have the authority
to access and modify a particular configuration object
Synchronization Control
Synchronization control helps to ensure that parallel changes
performed by two different people don’t overwrite one another
Note that other copies can be checked out but other updates cannot
be made
Diff Workflow
Version and Change Tracking-- Repository Systems
Revision History
Version and Change Tracking-- Repository Systems
Revision Graph
Version and Change Tracking-- Repository Systems
Roll Back
Version and Change Tracking-- Repository Systems
Semantics of Changes
Recording changes
Change Sets
Version and Change Tracking-- Repository Systems
General Workflow of Developer
Version and Change Tracking
General Workflow of Developer
Version and Change Tracking Tools
Configuration Audit
A software configuration Audit assesses a configuration object for
characteristics.
Has the software process been followed and have software engineering
standards been properly applied?
Has the change been highlighted in the SCI? Have the change date and
change author been specified?
Have SCM procedures for noting the change, recording it and reporting it
been followed?
What happened?
Who did it?
When did it happen?
What else will be affected?