# Team > Branch/Tag...

You can use Branch/Tag for several different purposes:

1. To create a snapshot copy of the current repository state (version) for later retrieval. This is usually called tagging
2. To create a place for a new variation of the project as is exists in the repository. This is usually called branching.
3. To save the state of the current working copy as a new branch of the project. This is also called branching.

Creating a tag (first option above) or a branch (second option) off the repository state is covered by the same functionality is Subversion, namely copying (since trunks, tags, and branches are merely a repository layout convention.)

- First, choose the project (or folder) which you want to copy.
- Choose Branch/Tag... in the Team menu.
- Enter the desired location for the copy (branch or tag). You can use the browse button to browse the structure of your repository.
- Enter the appropriate commit message. This will be the initial message found on the new location.
- The chosen repository tree is copied to a new location (within the same repository.)
- Click 'OK'

Subclipse will create the copy.

> Note: By leaving Create the branch/tag directly on the server selected, you tell Subclipse to just copy the repository as it exists on the server (in the latest version). If you deselect this option, the current changes currently found in your working copy are copied to the new location as well, corresponding to the changes found in the Pending Operations View. In effect, this enables you to save you work off to a repository location. This is te third option above, and is likely to be useful if you started working on a change which you later decide to change into a branch of its own. Another use is when you need to move really big changes between working copies (e.g. home and work machines), and when moving patch files becomes impractical.

After creating a branch, remember to switch to it to start working on it.

### Tasks:

Maintaining branches with Subclipse

### Reference:

Team > Switch...
Team > Merge...

### See also (CVS equivalents):

Team programming with CVS > Versons
Team programming with CVS > Branches