subversion and bug tracking
DESCRIPTION
Comparing some SVN and Bug Tracking SystemsTRANSCRIPT
SUBVERSION AND BUG TRACKING
By. Amira Elsayed Ismail
ROLES
No Side Talks Please
Rewards for Good Listener
Punishment for Bad Listener
AGENDA
Version Control
Bug Tracking
VERSION CONTROL
Version Control
A version control system is simply a system that
catalogs your changes and keeps them in an orderly
fashion which also allows others to collaborate on the
same project
Allow you to track changes (who, when, how it affected
your project)
It helps you to simply picking a backup at some point,
restoring it
VERSION CONTROL (CONT’D)
Concurrent Versions System (CVS) Also known as Concurrent Versioning System
Uses client server architecture –this means that a server stores a current version (or versions) of a particular project as well as saving its history
The client then connects to the server as means to “check out” a copy of the project
Can maintain different branches of a project
Different aspects or permutations of the same project may branch off from the source project and CVS will maintain all versions
A released version of the project forms one branch for bug fixes, while a different version that is currently being developed may contain new features and major changes and form a branch of the same project
VERSION CONTROL (CONT’D)
Subversion (SVN) Is a version control system used to maintain the current and preceding
versions of files (like source code, web pages, and documentation)
It is a direct upgrade of CVS and its most compatible successor
It is also an open source technology and has been widely used in multiple projects (Apache, Free Pascal, Google code)
Creates a set of tentative changes and makes them permanent– as true atomic
Subversion also allows users to rename, copy, move, and/or remove files; however, those files will retain their full revision history
Subversion also costs according to the change size and not the size of the data
CVS
Maintain different branches of a project
Based on RCS files of versions control
Each file is an ordinary file containing some info So the tree of these files repeats
You should not be worry about data loss
Works slowly
Allows to store of only files and nothing else
The storage (binary, Unicode) is not trivial and requires special information
Allows to rollback any commit in the repository
No Transaction Support
SVN
Maintains the current and preceding versions of files
Commits as true atomic operations.
Uses parsable output
The basis of SVN is a relational database
Works faster than CVS
Allows to "attach" to a file any number of all possible named attributes
Manipulates all the file types
SVN does not allow rollback of commit
Transaction Support
VCSs
There is One True Source, All developers work from that source, and then ad their changes
If your project or organization wants centralized control
Takes a client server approach
The repository must be available every time you want to commit your changes
Only accessed by anyone having write access to the repository directories
Conflicts may arise, if someone commit change in the same file and program can’t handle it
DVCSs
One repository is as good as any other, and that merges from one repository to another are just another form of communication
If your developers are expected to work all over the world
Takes a peer-to-peer approach
Common operations (commits,…) are fast, because there is no need to communicate with a central server
Communication is only necessary when pushing or pulling changes to or from other peers
Allows users to work productively even when not connected to a network
Participation in projects without requiring permissions from project authorities
VERSION CONTROL (CONT’D)
Version Control
Client-server model
Open source
Concurrent Versions System (CVS)
Subversion (SVN)
VisualSVN
Proprietary
RocketSVN
Autodesk Vault
Clear Case
Visual SourceSafe
VERSION CONTROL (CONT’D)
Version Control
Client-server model
Open source
Concurrent Versions System (CVS)
Subversion (SVN)
VisualSVN
Proprietary
RocketSVN
Autodesk Vault
Clear Case
Visual SourceSafe
Can’t provide Demo
No trail download
VERSION CONTROL (CONT’D)
Version Control
Distributed model
Open source
Bazaar
Git
Mercurial
Monotone
LibreSource
Proprietary
Bit Keeper
DEMO
BUG TRACKING
Bug Tracking
Is a software application that is designed to help quality
assurance and programmers keep track of reported
software bugs in their work
BUG TRACKING (CONT’D)
Bug Tracking
Trac
Jira
Bugzilla
Bug Traker.NET
FogBugz
Assembla
BUG TRACKING (CONT’D)
Bug Tracking
Trac
Jira
Bugzilla
Bug Traker.NET
FogBugz
Assembla
Both are web based on an external
server so we will not make Demo
for them
Features
•Workflow with triggers, timers, and conditions
•Dashboard with reporting widgets
•Customizable fields for each project
•HTML, XML, RSS, PDF, Excel, Word, customizable charts
•Enterprise wiki
•Test planning integration
•Customizable workflow
•Unicode support
•SLA
•Plugin API
•Multiple Project
Input interfaces
•Web
•CLI
•GUI
•REST
•SOAP
•Mylyn
•Visual Studio
Notification
•RSS
•XMPP
Revision control integration
•Git
•Mercurial
•CVS
•Subversion
•Perforce
•AccuRev
•ClearCase
Features
•Integrated wiki
•Test planning integration
•Customizable workflow
•Unicode support
•Custom Fields
•Plugin API
Input interfaces
•Web
•Mylyn
Notification
•RSS
Revision control integration
•Git
•Mercurial
•Bazaar
•Monotone
•Darcs
•CVS
•Subversion
•Perforce
•AccuRev
Features
• Integrated wiki
• Customizable workflow
• Unicode support
• Custom Fields
• Plugin API
• Multiple Project
Input interfaces
• Web
• CLI
• REST
• Mylyn
• Visual Studio
• XML
Notification
• RSS
Revision control integration
• Mercurial
• CVS
• Subversion
• Perforce
Features
• Integrated reports and charts
• Scheduled reports by mail
• Test planning integration
• Customizable workflow
• Unicode support
• Custom Fields
• Plugin API
• Multiple Project
Input interfaces
• Web
• CLI
• GUI
• REST
• SOAP
• Mylyn
Notification
• RSS
Revision control integration
• Git
• Mercurial
• Bazaar
• CVS
• Subversion
• Perforce
• AccuRev
Features
• Wiki syntax
• Email notification
• Linking to Subversion commits
• Document manager
• Charts
• Reports
• Unicode Support
• Custom Fields
• Plugin API
• Multiple Project
Input interfaces
• Web
• CLI
• REST
• Mylyn
Notification
• RSS
Revision control integration
• Git
• Mercurial
• Subversion
Features
• Integrated charts and reports
• Customizable workflow
• Unicode support
• Custom Fields
Input interfaces
• Web
Notification
Revision control integration
• Git
• Mercurial
• Darcs
• Subversion
DEMO