deal.II SVN Archive
Keywords: deal dealii finite elements fem triangulation
Date: $Date: 2013-11-28 18:07:17 -0500 (Thu, 28 Nov 2013) $

# Documentation of the deal.II SVN Archive

## The global structure

The root of the deal.II archive is located at https://svn.dealii.org/. There are three subdirectories:

- trunk: This is the location of the current development version; it contains the directories deal.II with the library proper and tests with the testsuite.
- tags: contains released versions. They have the same structure as the trunk.
- branches: currently active branches; it also has subdirectories:
  - releases: branches for releases of deal.II
  - retired: development branches that have been merged into the trunk and are no longer used.

## Creating a development branch

Significant changes in the library often cannot be developed all at once. In a case like this, one can create a development branch in the subversion repository into which one can check in all necessary changes and from which one can merge the final set of changes into the main development line once ready. The `svn` program can be used to keep your branch up-to-date with the trunk.

Creating a branch works through the following steps:

1. Create the branch using

       $ svn copy https://svn.dealii.org/trunk/ https://svn.dealii.org/branches/new-branch-name

2. Either check out the new branch or switch your working copy by

       $ svn switch https://svn.dealii.org/branches/new-branch-name

   This command assumes you are in the top level directory, the one containing `deal.II` and `tests`
3. After some development of the branch, if you want to merge changes that have been made on mainline in the meantime, you can use this command:

       $ svn merge ^/trunk

   This command will only run if you have no local changes in your working directory for the branch, and will modify all of your files by merging the changes made on mainline. If there are no conflicts that need to be resolved, you can simply commit the result.