By: Tom Muck
Page 1 of 3
Dreamweaver is 10 years old, and Dreamweaver 10 (CS4) has been released as a public beta. Among the many new features is the integration with the Subversion source control and version control system. This has been a much requested feature over the years. With 10 releases in 10 years, it is hard to get major features into a program—the limited time spent on development and testing between releases leaves little room for transformations in functionality, but this is one good step towards turning Dreamweaver into a valid and productive coding environment. I should also mention that the company I work for uses Subversion exclusively for all modifications to files, so this feature was welcome indeed.
Be sure to read our other articles on the new features in the Dreamweaver beta, with information on how to obtain the beta:
The Dreamweaver CS4 Public Beta Series:
Dreamweaver CS4 Public Beta: What's New? - Part 1
Dreamweaver CS4 Public Beta: What's New? - Part 2
Dreamweaver CS4 Public Beta: What's New? - Part 3
Dreamweaver CS4 Public Beta: The Coding Improvements
Subversion is a version control system, similar to CVS and Visual Sourcesafe (VSS). If you are unfamiliar with Subversion, you will likely not have a use for this feature, however if you do use Subversion as part of your daily coding, this feature will be a godsend. If you don't use Subversion, you might consider looking into it as a way to maintain histories of your sites, projects, and files. Subversion is typically used by companies that want to maintain a team environment on a larger project or project that requires changes be logged and versions controlled. Dreamweaver has never had true version control, although it has had some integration with VSS and has had the underlying architecture to support the feature. Typically, if you wanted to maintain versions, you would have to do the work yourself—maintaining folders and copies of previous versions. With Subversion, all files are kept on the Subversion server. Changes are tracked so that you can restore your project to any previous state.
Note: You cannot view your files on the Subversion server—they are kept track of internally by Subversion. The concept of the "repository" is an internal file and folder structure in Subversion but does not have a corresponding set of files and folders on the server.
Subversion does not actually maintain copies of every file, but maintains the changes in a database. Since the server does this internally, you don't have to worry about the details of how this occurs. It just works. It does require a different mindset when working with your project, however. One nice thing is that you can look at any file and view a history of it and do comparisons between versions of the file to see exactly what has changed.
When using Subversion, there are some typical structures: each project should have a trunk, which is the most current version of the software (web site or other project), tags, which will be previous version releases, and branches, which are used for working on new features, different features, or experimental features. A Subversion server might have a directory structure like this:
This is a simplistic view, of course, but the concept is that Subversion allows you to work on files and maintain previous files within the system. These structures are not set in stone, but typical in a Subversion system. How you manage your own files, however, is up to you. The names "trunk", "tags", and "branches" are just names that have become standard in version control.
Subversion is normally set up on a server, however you can manage your own Subversion server on any computer for your own projects—it is a great way to manage files, web sites, documentation, or other projects. You can find more information on Subversion at their web site. You can even set it up on a laptop, if that is where you manage your files.