Version Control: Difference between revisions

From DataFlex Wiki
Jump to navigationJump to search
Jka (talk | contribs)
m adding a link to the existing SVN page
m New section 'External Resources' and links.
 
(6 intermediate revisions by 5 users not shown)
Line 1: Line 1:
'''Version Control''', sometimes known as '''Revision Control''' or '''Source Control''' is the concept of managing multiple revisions of source files.  By using version control, developers are able to track changes made to source code files, and where neccessary revert these files back to an older state.
'''Version Control''', sometimes known as '''Revision Control''' or '''Source Control''' is the concept of managing multiple revisions of source files.  By using version control, developers are able to track changes made to source code files, and where neccessary revert these files back to an older state.


There are many Version Control softare packages available for developers, both free and commercial.
There are many Version Control software packages available for developers, both free and commercial.
 


==Why use Version Control?==
==Why use Version Control?==
Line 9: Line 10:


Version Control can also be integrated with Bug Tracking Software.  For Sourcegear's Fortress Package includes both Version Control and Bug Tracking modules, so that files may be checked in against bugs.
Version Control can also be integrated with Bug Tracking Software.  For Sourcegear's Fortress Package includes both Version Control and Bug Tracking modules, so that files may be checked in against bugs.


==Concepts==
==Concepts==
Line 26: Line 28:
There are many free and [[Open Source]] version control packages around.  The main ones are '''CVS''' and [[SVN|Subversion]] .  Both are extremely powerful, though arguably harder to use and setup than many commercial packages
There are many free and [[Open Source]] version control packages around.  The main ones are '''CVS''' and [[SVN|Subversion]] .  Both are extremely powerful, though arguably harder to use and setup than many commercial packages


*[http://www.cvsnt.org/ CVSNT] - the Windows version of CVS
* [http://www.cvsnt.org/ CVSNT] - the Windows version of CVS
*[http://subversion.tigris.org/ Subversion]
* [http://subversion.tigris.org/ Subversion]
* [http://http://www.nongnu.org/cvs/ CVS]
* [http://www.eclipse.org/eclipse/platform-cvs/ Eclipse CVS client]
* [http://subclipse.tigris.org/ Eclipse Subversion client (Subclipse)]
* [http://www.polarion.org/index.php?page=overview&project=subversive Another Eclipse Subversion client (Subversive)]
* [http://tortoisesvn.tigris.org/ Tortoise SVN] a Subversion Client that is integrated into Windows Explorer - '''very''' easy to use
* [http://www.tortoisecvs.org/ Tortoise CVS] a CVS Client that is integrated into Windows Explorer
 
 
==Version Control and DataFlex articles on this wiki==
 
* [[Using GIT for Dataflex Development]]
* [[Subversion]]
 
 
==External Resources for Version Control and DataFlex==


* [https://www.dataaccess.com/blog/systems-environments/using-git-with-dataflex-1596| Using Git with DataFlex - a Data Access blog]
* [https://www.dataaccess.com/blog/systems-environments/the-case-for-distributed-source-control-1238| The case for distributed source control - a Data Access blog]
* [https://https://git-scm.com/book/en/v2| A Git ebook]




Line 37: Line 57:


[[Category: Development Tools]]
[[Category: Development Tools]]
[[Category: Version Control]]

Latest revision as of 11:40, 29 June 2020

Version Control, sometimes known as Revision Control or Source Control is the concept of managing multiple revisions of source files. By using version control, developers are able to track changes made to source code files, and where neccessary revert these files back to an older state.

There are many Version Control software packages available for developers, both free and commercial.


Why use Version Control?

Version Control has many uses. not only does it track changes to your source, but also becomes a backup of this information. Buy using version control you could effectively revert your entire workspace to represent the code of previous versions of your software.

Also, when working in a multi-developer environment each user exclusively check out files, as well as tracking changes made by other users. This can help limit confusion when two developers make changes to the same file at once.

Version Control can also be integrated with Bug Tracking Software. For Sourcegear's Fortress Package includes both Version Control and Bug Tracking modules, so that files may be checked in against bugs.


Concepts

Checking In and Out

In a version control system source files can be checked out, and then once changes have been made checked in. This concept is particularly useful when working in a multi-developer environment.

Branches and Branching

When working with version control, you work in what is called a Branch. Every version control has a Main Branch, which is the master set of source files.

Branching is the concept of making a copy of the source file(s) seperate from the main development branch. This is useful when working on a project and you don't want to include these changes until the project is complete. Once complete these files can the be merged back into the main branch.

Tagging and Labelling

Source code can be tagged or labelled, and thes tags can be used to access certain versions of file. For example, a tag could be set on each file as a version of your software is released. Should you need to obtain a copy of all source files as they were at the time the version was compiled, you could fetch all of the files tagged with the relevant value.


Free and Open Source Packages

There are many free and Open Source version control packages around. The main ones are CVS and Subversion . Both are extremely powerful, though arguably harder to use and setup than many commercial packages


Version Control and DataFlex articles on this wiki


External Resources for Version Control and DataFlex


Commercial Packages

Commonly used commercial Version Control packages include Microsoft's Visual Sourcesafe and Sourcegear's Fortress and Vault Packages.