General terms and concept about version control

I use SubVersion for version control.

commonly there are three directory :


trunk is use for mainline development, where developer commit source to it everyday.

it is where the latest source located. for keeping daily changes.

branch is a line of development that exists independently, but share a common history.

just like Joomla and Mambo. for keeping releases. e.g. version 1.0

tag is a snapshot of the whole project, just like a release. nobody should commit anything to it.

e.g. version 1.0.0

bugs and features are handled in trunk and then port to branch, you may take another snapshot. e.g. version 1.0.1.

if a core design or architecture change, then move to another branch. e.g. version 2.0.

this is just a concept, you should find your own which makes you comfortable.


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s