Friday, July 3, 2009

Features

The Subversion provides the following features
1. Directory Versioning:
The subversion tracks the history of individual file as well as the whole directory. It implements a “virtual” versioned filesystem that tracks changes to whole directory tree over time. All the files and directories are kept versioned.
2. True Version History:
With Subversion, the user can add, delete, copy, move and rename both files and directories. Every new file or directory begins with fresh history. If the file/directory existed before, then user has the option to inherit its history or start with a fresh history for that file/directory. This gives the user more flexibility to maintain history of the file/directory.
3. Atomic Commits:
If you have done more than one change. Then, with Subversion, The collection of modifications either goes into the repository completely, or not at all! This is a boon to the developer as the developer can commit changes as logical chunks. More over he can prevent problems that can occur when only a portion of a set of changes is sent to the repository.
4. Versioned Metadata:
Each file and directory has a set of properties associated with. These are known as “Metadata”. The user can create his any arbitrary property for the file or directory. A property is a Key/Value pair. Just like file/directory contents these properties are versioned over time.
5. Consistent Data Handling:
The Subversion uses binary differencing algorithm to express file differences. This algorithm works identically for both text and binary files. Hence both the files are stored equally compressed in the repository.
6. Efficient Branching And Tagging:
The Subversion creates branches and tags by simply copying the project. This mechanism is similar to a hard link. These operations take only very small and constant amount of time. Hence the cost of branching and tagging is not proportional to the project size.
7. Hackability:
Subversion is implemented as a collection of C libraries with API’s. This makes it extremely maintainable and usable by other applications and languages.
8. Optimized Around The Network:
Local access is faster in several orders of magnitude when compared to remote access to repositories. Hence the Subversion design is optimized to avoid network connectivity whenever possible. It maintains a pristine copy of each file as it was checked out of the repository in the form of “.svn”. This helps in producing the differences very quickly, with no need to contact the repository.

The Subversion provides the following features

1. Directory Versioning:

The subversion tracks the history of individual file as well as the whole directory. It implements a “virtual” versioned filesystem that tracks changes to whole directory tree over time. All the files and directories are kept versioned.

2. True Version History:

With Subversion, the user can add, delete, copy, move and rename both files and directories. Every new file or directory begins with fresh history. If the file/directory existed before, then user has the option to inherit its history or start with a fresh history for that file/directory. This gives the user more flexibility to maintain history of the file/directory.

3. Atomic Commits:

If you have done more than one change. Then, with Subversion, The collection of modifications either goes into the repository completely, or not at all! This is a boon to the developer as the developer can commit changes as logical chunks. More over he can prevent problems that can occur when only a portion of a set of changes is sent to the repository.

4. Versioned Metadata:

Each file and directory has a set of properties associated with. These are known as “Metadata”. The user can create his any arbitrary property for the file or directory. A property is a Key/Value pair. Just like file/directory contents these properties are versioned over time.

5. Consistent Data Handling:

The Subversion uses binary differencing algorithm to express file differences. This algorithm works identically for both text and binary files. Hence both the files are stored equally compressed in the repository.

6. Efficient Branching And Tagging:

The Subversion creates branches and tags by simply copying the project. This mechanism is similar to a hard link. These operations take only very small and constant amount of time. Hence the cost of branching and tagging is not proportional to the project size.

7. Hackability:

Subversion is implemented as a collection of C libraries with API’s. This makes it extremely maintainable and usable by other applications and languages.

8. Optimized Around The Network:

Local access is faster in several orders of magnitude when compared to remote access to repositories. Hence the Subversion design is optimized to avoid network connectivity whenever possible. It maintains a pristine copy of each file as it was checked out of the repository in the form of “.svn”. This helps in producing the differences very quickly, with no need to contact the repository.

No comments:

Post a Comment