1

I followed this tutorial to setup SVN on my Fedora box http://www.ashishkulkarni.com/installing-subversion-on-fedora-linux/

It worked.

However, there is no trunk, tags or branches when I set this up.

In the tutorial he creates a sandbox project

/svn/repos/sandbox

Now I am assuming that all projects will go under repos

/svn/repos/project1

/svn/repos/project2

When I view the project there are no trunk, tags or branches, I have not yet checked in any project, will these appear when I do that?

As I understand all my files should go below the trunk. What are the tags and branches for?

Just some clarification about the structure would be nice. Thanks.

Community
  • 1
  • 1
jax
  • 34,985
  • 56
  • 167
  • 267
  • In http://stackoverflow.com/questions/16142/what-do-branch-tag-and-trunk-really-mean are some good answers to this question. – nuriaion Jun 10 '10 at 06:50
  • Thanks, that describes what the trunk, tag and branches are. What about the directory structure on my system. I am about to setup a repository but want to make sure I use the correct directory structure the first time. – jax Jun 10 '10 at 06:56

2 Answers2

5

The /trunk, /tags and /branches directory structure inside a reposiory is not managed by Subversion - it's just a recommended convention. So, you need to create those folders yourself.

Tags are used for (read-only) timestamping the state of the repository at certain point of time (e.g. a specific version number of a released build). Branches are created when you need to make changes that can't happen in the trunk at the moment (e.g. creating a bug fix build for some old version or experimental new development that might endanger trunk).

Taneli Waltari
  • 667
  • 3
  • 5
  • So the current directory structure /svn/repos/project1 looks ok then, I will just add the trunk, tag and branches directories – jax Jun 10 '10 at 07:02
  • Yes. SVN repository is basically just a versioned directory tree, without native support for branches or tags. – Taneli Waltari Jun 10 '10 at 08:22
0

This is copy pasted from What do "branch", "tag" and "trunk" mean in Subversion repositories?

Trunk would be the main body of development, originating from the the start of the project until the present.

Branch will be a copy of code derived from a certain point in the trunk that is used for applying major changes to the code while preserving the integrity of the code in the trunk. If the major changes work according to plan, they are usually merged back into the trunk.

Tag will be a point in time on the trunk or a branch that you wish to preserve. The two main reasons for preservation would be that either this is a major release of the software, whether alpha, beta, RC or RTM, or this is the most stable point of the software before major revisions on the trunk were applied.

Also, you're correct that all your files should go under Trunk. The tags and branches are explained above. (These however will not go under trunk but sit alongside)

Community
  • 1
  • 1
VoodooChild
  • 9,578
  • 7
  • 64
  • 97