VcsNoob: Multi Projects & Shared Repos

Asked by SteadyEdd on 2010-04-20

Ive been wanting to version control my software for a while now and been trying bazaar for a while now, but I havnt been using it properly so im doing a rebuild of my repository and wanted some help just to make sure im getting it roughly right this time.

I want to have 1 shared repository with multiple sub projects each version controlled separately. I would then like to be able to checkout the entire shared repo to a web server directory for testing and usage.

How do I go about setting up the projects inside a repository? do i need to use the 'Feature Branches' to create a new repo inside the original repo or could I just use 'Plain Branch' and create my own trunk etc.

example:

Folders / Repo's:

svn/ # bzrExp -> init -> 'Shared Repository'
 |- project1/ # bzrExp -> init -> 'Feature Branches' OR 'Plain Branch'
 |- project2/ # bzrExp -> init -> 'Feature Branches' OR 'Plain Branch'

Checkout to Web:
checkout 'svn/' to /var/www/lib/ # A PHP Include dir

Question information

Language:
English Edit question
Status:
Solved
For:
Bazaar Explorer Edit question
Assignee:
No assignee Edit question
Solved by:
SteadyEdd
Solved:
2010-05-06
Last query:
2010-05-06
Last reply:
2010-05-06
Launchpad Janitor (janitor) said : #1

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

Alexander Belchenko (bialix) said : #2

sorry for delay with answer.

Alexander Belchenko (bialix) said : #3

You can't checkout shared repository, because it's just storage thing. You can get only branches.
So if you want to get several separate branches, every branch in each own subdirectory, you need some additional mechanics to get checkout of them as the whole.

Today this task is addressed by plugins: bzr-externals and bzr-scmproj, or by separate tool called config-manager. All these three projects are hosted on Launchpad.

About Plain branch vs Feature branch: start with Plain branch.

SteadyEdd (edd-edwards) said : #4

Thanks for the reply. I did do the rebuild and im now using a seperate repository for each project, editing the files in the trunk folder and then using a shell script to copy files into the web server instead.

Im using branches to save/tag old versions now. Seems to work quite nice. Im not too sure on how to use branches for merging purposes yet but its alright for now.