Hi,
We are new to sourcegear (3.01) and I want to ask if this is possible:
We have a large solution that we have under source control. We have this project deployed at about 15 or so different clients. For each client, the only thing that is different is the images, stylesheet, and web.config file.
Is there a way we can let sourcegear know that we have these different "configurations" and be able to "get latest version" for a specific configuration to do a deployment?
Right now we just have the specific images, css, and web.config's excluded and have to manually copy them after the deployment, but we would like to get them all under sourcecontrol. What's the best practise for a situation like this?
Thanks!
Multiple configuratiions in one repository?
Moderator: SourceGear
If you can get all those files into separate folders within Vault (one for each client), then you can either
1. use Cloaks (which are client side, and still allows everyone to see other folders, but by default will not retrieve them)
2. turn on security on the server, so that folders are only accesible to those with the right permissions, and set up each client to be able to see their own folders, but not others.
If your project structure won't allow separate folders for those files, you might consider putting them in separate folders anyway, and then using the Command line client or the client API to create a script that pulls them out of source control separately, and then places them where you need them to go.
1. use Cloaks (which are client side, and still allows everyone to see other folders, but by default will not retrieve them)
2. turn on security on the server, so that folders are only accesible to those with the right permissions, and set up each client to be able to see their own folders, but not others.
If your project structure won't allow separate folders for those files, you might consider putting them in separate folders anyway, and then using the Command line client or the client API to create a script that pulls them out of source control separately, and then places them where you need them to go.
My initial impression is that this is the perfect scenario for sharing.
I'd set up my hierarchy something like this:
Project/Trunk
Project/Trunk/Common/...
Project/Trunk/Configurations/Config1
Project/Trunk/Configurations/Config2
Project/Trunk/Configurations/Config3
...
Where Config1..ConfigN are all shares of Common with the appropriate folder shares broken to be plain branches to allow different configuration files in each ConfigN.
This assumes that you would want to release all configurations simulanteously, since this structure allows for labeling the Trunk for each
release (and potentially branching the Trunk for each release).
For example I'd branch Trunk to this folder for the 1.0 release:
Project/releases/AppName 1.0
If you want to have separate releases for each configuration, I'd probably set it up something like this:
Project/Trunk
Project/Config1/Trunk
Project/Config2/Trunk
....
This allows for configuration release branches (of the respective Trunk folder):
Project/Config1/releases/AppName 1.0
Project/Config2/releases/AppName 1.0
I've never tried to set up something like this, but I believe Vault supports it. Hope this helps,
Mike
I'd set up my hierarchy something like this:
Project/Trunk
Project/Trunk/Common/...
Project/Trunk/Configurations/Config1
Project/Trunk/Configurations/Config2
Project/Trunk/Configurations/Config3
...
Where Config1..ConfigN are all shares of Common with the appropriate folder shares broken to be plain branches to allow different configuration files in each ConfigN.
This assumes that you would want to release all configurations simulanteously, since this structure allows for labeling the Trunk for each
release (and potentially branching the Trunk for each release).
For example I'd branch Trunk to this folder for the 1.0 release:
Project/releases/AppName 1.0
If you want to have separate releases for each configuration, I'd probably set it up something like this:
Project/Trunk
Project/Config1/Trunk
Project/Config2/Trunk
....
This allows for configuration release branches (of the respective Trunk folder):
Project/Config1/releases/AppName 1.0
Project/Config2/releases/AppName 1.0
I've never tried to set up something like this, but I believe Vault supports it. Hope this helps,
Mike