Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Repository organisation

Tags:

versioning

When I first started using revision control systems like CVS and SVN, I didn't really understand the concepts of the "trunk", branching, merging and tagging. I'm now starting to understand these concepts, and really get the importance and power behind them.

So, I'm starting to do it properly. Or so I think... This is what I understand so far: The latest release/stable version of your code should sit in /trunk/ while beta versions or bleeding edge versions sit inside the /branches/ directory as different directories for each beta release, and then merged into the trunk when you release.

Is this too simplistic a view on things? What repository layouts do you guys recommend? If it makes a difference, I'm using Subversion.

like image 978
mercutio Avatar asked Aug 20 '08 11:08

mercutio


People also ask

What is repository in organization?

In an Organization, the repositories are owned by the organization instead of the user who created them.

How do you create a repository in an organization?

Go to GitHub and login with your account credentials. Switch to the organization context by clicking on the Switch dashboard context drop-down, and click the organization. Click New next to Repositories. Alternatively, click the + icon on the top-right corner and click on New Repository.

What is in a repository?

In information technology, a repository (pronounced ree-PAHZ-ih-tor-i) is a central place in which an aggregation of data is kept and maintained in an organized way, usually in computer storage.

How do you move a repository to an organization?

On GitHub.com, navigate to the main page of the repository. Under your repository name, click Settings. Under "Danger Zone", click Transfer. Read the information about transferring a repository, then type the name of the user or organization you'd like to transfer ownership of the repository to.


2 Answers

See these two questions on SO for more information:

  • What does branch, tag and trunk really mean?
  • Subversion question
like image 192
Lasse V. Karlsen Avatar answered Oct 09 '22 18:10

Lasse V. Karlsen


What I do and normally see as a standard is:

The trunk should contain your main line of development, your unstable version. You should create release branches for your releases.

Something like:

/trunk (here your are developing version 2.0) /branches/RB-1.0 (this is the release branch for 1.0) /branches/RB-1.5

When you find a bug in 1.5, you fix it in the RB branch and then merge to the trunk.

I also recommend this book.

like image 28
Erick Sasse Avatar answered Oct 09 '22 17:10

Erick Sasse