Vous êtes sur la page 1sur 14

TABLE OF CONTENTS

1. Introduction................................................................................................................2
2. Objectives...................................................................................................................4
2.1 Features Proposed....................................................4
2.1.1. Checkin/Checkout........................................................................................4
2.1.2 Branching .....................................................................................................5
2.1.3. Difference Identification..............................................................................5
2.1.4. Version History............................................................................................6
2.1.5. Integration with Windows Tools..................................................................6
3. Project Category.........................................................................................................6
4.Analysis.......................................................................................................................7
4.1. Entity Relationship Diagram.....................................7
4.2. Data Flow Diagram...................................................8
5.Project Organization....................................................................................................9
5.1. Modules..................................................................9
5.1.1 Server Module...............................................................................................9
5.1.2. Client Module...............................................................................................9
5.1.2. GUI Module...............................................................................................10
5.1.3. Authorization Module................................................................................10
5.1.4. Check in / Check Out Module....................................................................10
5.1.5. Difference Identification Module...............................................................10
5.2. Reports Generation................................................11
5.2.1. Revision History Report.............................................................................11
5.2.2. Version Difference Lookup........................................................................11
5.2.3. List of Checked Out Files...........................................................................12
6. Tools / Platform........................................................................................................12
6.1 Hardware Requirements..........................................12
6.2 Software Requirements...........................................13
7. Security Mechanisms...............................................................................................13
8. Future Scope And Further Enhancements................................................................13

Vercons
A Version Control System

Synopsis – Vercons (A version Control System)


1
1. Introduction

Version control systems are repositories for the source


code of computer programs. They allow it to be held in a
central place with monitored access. Every change made
to the source is tracked, along with who made the change,
when and why they made it.
Version control is central to coordinating teams of
programmers, as it lets programmers work on a copy of
the program and then release the changes back to the
common code when ready. Other programmers can work
on the same code, unaffected by the changes, until they
choose to merge or commit their own changes. This
arrangement gives each developer full access to the
source code while ensuring that conflicts (when two
programmers independently change the same line of
code) are automatically flagged. This is particularly
appropriate for open source projects because it minimises
the need for centralised human control of who is working
on which parts of the software.
Version control systems keep track of every version of the
software, allowing users to compare today’s version with
yesterday’s version and last year’s version.

They may wish to compare their performance, work out


when bugs were introduced (or fixed) and check that new
changes have not introduced new bugs. Any problems
that arose from a change can then be followed up by an

Synopsis – Vercons (A version Control System)


2
examination of who made the change and the reasons
they gave for making the change.
Version control systems can also be used to establish
precedence. By retrieving from the system the software as
it existed at an earlier date, the features of the software at
that date can easily be demonstrated.

Version control system can be used effectively in any of


the following situations:
 When two or more people are adding files or
changing files to a shared set of files.
 When one or more persons are making changes to
files and each version of a changed file needs to be
stored, for historical archive reasons, accounting
reasons, legal reasons - or most importantly, to
rollback or refer to earlier versions in case of errors in
more recent updates.
 When sharing files with others and wish to be notified
of any file change.
 When sharing files with others in a group and wish to
track user downloads.

Synopsis – Vercons (A version Control System)


3
2. Objectives

The main objective of the project is to develop an effective


version control system for projects developed in Windows
Platform. Version control systems such as CVS,
Subversion, Arch, OpenCM, Aegis, Monotone are open
source systems developed with platform independence,
hence integration with the Windows environment and
Windows specific features will be limited. The following
common features integrated with Windows environment is
the key of Vercons.

2.1 Features Proposed

2.1.1. Checkin/Checkout

Checkin/Checkout will enforce edit rights on all files


contained within the designated folder, and its designated
subfolders. Users “checkout” files, make changes locally
on their PC’s, then “checkin” their updates. This checkin /
checkout process guarantees that only 1 person is making
changed to any given file at any time. While a file is
checked out, no other user can checkout the file. Only the
person who last checked out a file is allowed to upload an
updated version of the same file, and until they do, the file
remains checked out.

Synopsis – Vercons (A version Control System)


4
2.1.2 Branching

The ability to freeze source code at a specific point in the


archive process. Branching allows part of the development
team to continue developing future changes/
enhancements in the main line of the archive while
another part of the team makes changes that only apply
to the branch. The branch keeps the two development
projects separate; however, it would be possible to merge
a branch back into the main line later, if desired. Because
of this, branching makes it possible to either discard or
merge the changes into the main project. Branching also
provides reproducibility, allowing developers to “go back
in time” and check out source code, as it existed at any
point. This makes it possible to recreate a previous version
of the product, regardless of the number of subsequent
changes, additions, or deletions to the project.

2.1.3. Difference Identification

The comparison between two different revisions of a


program. This allows to determine when, where, and who
corrected a problem, added a new feature, or introduced a
particular bug into the source code. The initial ASCII file is
stored entirety and then, in subsequent revisions, only
tracks the changes. Storing these incremental changes
dramatically reduces the storage requirements for the
archive.

Synopsis – Vercons (A version Control System)


5
2.1.4. Version History

Vercons provides a facility to add any number of versions


of a particular file. The information that is stored along
with different version of a file includes, the file itself, the
version number, the User ID, the creation time and
appropriate comments which tells the need to create a
new version. The version History feature allows a user to
see the list of all versions available for a particular file and
the details of who (User) is responsible for each version of
the file.
2.1.5. Integration with Windows Tools

2.1.5.1 Choosing the editor to view the file

When a user wishes to view a file from the Vercons, it is


by default launched in the default editor (Notepad).
However user has provision to choose his own editor for
this feature. He can give the path of his editor in the
Option Menu to provide his editor of choice.
2.1.5.2 Get File / Checkout from Windows Explorer

If the user has logged in into source control system and he


has specified a working directory for a project, he has a
provision to checkout a file / Get Latest File from the
Windows Explorer.

3. Project Category

The project can be categorized under RDBMS & OOPS


since the data is stored as tables in Oracle and the front
end design and client server communication are
implemented in Microsoft Visual C ++ 6.0
Synopsis – Vercons (A version Control System)
6
4.Analysis
4.1. Entity Relationship Diagram

Director
User ID Name Password y
Permissio User
n ID

Gives
User Access Access Control
to

Local
Directory
Perfor
ms
Directory User ID
User ID

Working Directory
Filename Check Out

Directory Has a
Workin
Has g
been Director
y
Last Updated
Time

Filenam File
e
Directory
name
Director
y Contai Directory
ns

Parent Directory
Contai
ns
Versions

File
Version Number
Filename Content
Directory
Updated User Comment
Time ID s

Figure 1 – Entity - Relationship Diagram


Synopsis – Vercons (A version Control System)
7
4.2. Data Flow Diagram
1
User Name, User Name,
Password Login Verification Password
D1 User

Commands 2
Dir List
Client D2 Directory
Project/File Explorer
File List
9***999 D3 File
File Name,
User ID File Name,
User ID
3 D4 Check Out
File Name,
Check Out User ID

File Name,
User ID
File Name,
User ID
4
Client Hard File File Name,
Disk Check In Last Update Time

File Name, File, User Id, D5 Versions


Last Update Time

5
File Difference File

File File Name, File, User Id,


6 Last Update Time

Get a file.

Figure 2 – Data Flow Diagram

Synopsis – Vercons (A version Control System)


8
5.Project Organization

5.1. Modules

Figure 3 – Module Diagram

Authorization/
Check in-out /

Difference

Module

Client
Server Module
Module

User
GUI
User
Modul
ee
Bas
Dat

e
a

Server Client

5.1.1 Server Module

This is the main module, which runs in the server and


services all client requests. This module processes all
database queries.

5.1.2. Client Module

Client module runs in every node. All requests to the


server module are requested by means of client module. It
acts as interface between server and the user.

Synopsis – Vercons (A version Control System)


9
5.1.2. GUI Module

GUI module is responsible for the following proposed


features
 Easy & Powerful Project Explorer window which is
basic screen where every clients works with.
 Integrating default viewers which can be opened
from the Vercons environment itself.
 User Friendly GUI, which has menus to allow desired
actions

5.1.3. Authorization Module

User Name and Password is collected and sent to the


server for verification. On Success, user is allowed access
to the system as an Application User/Admin depending on
the login id.

5.1.4. Check in / Check Out Module

This module keeps track of files, which are currently


checked out and locks those files from other users such
that no body else can check out again until the file is
checked in.

5.1.5. Difference Identification Module

This module identifies and highlights the difference


between two different versions of a file.

Synopsis – Vercons (A version Control System)


10
5.2. Reports Generation

Vercons would be capable of generating the following


reports.

5.2.1. Revision History Report

A file stored in Vercons, will have different versions


depending on the number of changes made to that file. A
Report of list of different version available for a particular
file can be generated. The report contains the following
information
 Version of the file.
 File Name.
 User who created / updated the file.
 The time at which this file was updated into the
source control system.
 Comments – the reasons behind the creation of this
new version of the file.

5.2.2. Version Difference Lookup

User can opt to see the differences between


 Two versions of a file in the Source Control
 Two versions of a file present in local machine
 Two versions of a file, one in the Vercons and another
in local machine.

Synopsis – Vercons (A version Control System)


11
The Report has the following information
 The name and path of the files that are compared
 The line number for the line, which are deleted from
the source file.
 The line number for the line which are modified from
the Source file and the updated information
 The line number in the destination file, which are new
information not existing in the source file.

5.2.3. List of Checked Out Files

User can chooses to view list of files checked out by any


user / all user within a project.

The Report has the following information


 Name of the checked out file.
 Date/Time at which the files is checked out.
 User who checked out the file.

6. Tools / Platform

Platform Windows Environment


Back End Oracle 8.0
Front End Microsoft Visual C ++ 6.0

6.1 Hardware Requirements

Processor Pentium III or above


RAM 64 MB Minimum
Synopsis – Vercons (A version Control System)
12
Hard Disk 4 GB Minimum

6.2 Software Requirements

Operating System Windows 98 / 2000 / ME / XP

RDBMS Oracle 8.0

Language Microsoft Visual C ++ 6.0

7. Security Mechanisms

Only the Authenticated users can login into the system.


There are 2 types of users who use the system.
i) Admin
Create/ Delete user IDs
Create/ Delete projects in the Vercons
Granting / Revoking – read/ update/ delete access rights
for a user on a project.
ii) Programmer
Create/ update/ delete directories and files within the
project for which he/she is authorized.

8. Future Scope And Further Enhancements

The ultimate Version Control System is somewhere in


infinity. The following are immediate requirements that
will enhance the Vercons into a real version control
system.

Synopsis – Vercons (A version Control System)


13
Support for Internet project
Integration with the famous editors Visual Studio, Kawa,
JCreator, Visual Café
Ability to Support Multiple Checkouts for a file.

Synopsis – Vercons (A version Control System)


14

Vous aimerez peut-être aussi