Solutions containing projects from different repositories.

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
Frank.Neumann
Posts: 10
Joined: Thu Jul 01, 2004 3:01 am

Solutions containing projects from different repositories.

Post by Frank.Neumann » Thu Jul 01, 2004 3:44 am

I am in the process of evaluating vault 2.0.3.

There seems to be a problem with Vault and the VSS integration when a solution should contain projects from diferent repositories:

Once I finished adding the projects to the solution and reopen the VS.NET 2003 I get an error message: "Unknown Error".
I consider this problem as a severe handicap for using multiple repositories as recommend by Vault.

Here my questions:

1. Is the above mentioned sceanario supported by Vault?
2. If not, is there a work-around? And will it be supported using VS.NET 2005?

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Thu Jul 01, 2004 7:57 am

I tried creating a solutions with two projects, one in one repository, the other saved to a different repository. That part worked, but I ran into binding errors and other problems when trying to open the solution again.

We do suggest using multiple repositories for distinct projects or develpment teams. However, if a solution has projects/files in more than one repository, this probably won't work in Vault for IDE integration.

If it's not possible to keep the entire solution in one repository, you might consider not using integration. IDE integration tends to be problematic even when there are no unusual configurations.

We recommend using the GUI client for source code control operations and using VS.NET for development.

http://support.sourcegear.com/viewtopic.php?t=195
Linda Bauer
SourceGear
Technical Support Manager

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Thu Jul 01, 2004 7:57 am

Sorry, we don't currently support multiple projects in separate repositories using the same solution through the IDE. The only workarounds I can think of are:

1. Add the projects to the solution, but don't have them under source control - use the GUI client to do the source control operations.

2. Create 2 solutions, one which has bindings for all the projects in one repository and another which has bindings for all the projects in the other repository, and use the appropriate solution when making changes to the project you are working with. I'm not sure how well this would work, and yes, this is a terrible solution to the problem, but I'm including it for completeness sake :)

We will probably look into this more when we have a full VS 2005 IDE client, which should allow us more flexibility.

Frank.Neumann
Posts: 10
Joined: Thu Jul 01, 2004 3:01 am

Post by Frank.Neumann » Mon Apr 25, 2005 3:34 pm

dan wrote:We will probably look into this more when we have a full VS 2005 IDE client, which should allow us more flexibility.
Is there any good news on this topic using the extended MSSCI API in VS.NET 2005 Beta 2?
I would hope so, since VSTS is probably going to use multiple repositories by itself or does VSTS not use the MSSCCI API?

Thanks.

Frank Neumann

gmagana
Posts: 145
Joined: Wed Feb 18, 2004 10:51 am
Location: Santa Ana, CA, USA

Post by gmagana » Mon Apr 25, 2005 5:00 pm

Yeah, please if we could have an update it would be great... I have my own library which I use in (almost) all prjects, but each client's project is in a different repository. Right now I'm down to ignoring binding errors and hoping I don't forget which changes I made in my library... Not a good solution at all...

Right now if I am requested to retrieve the source of the system as released 6 months ago I am toast, as I cannot trust whatever I come up with...
gabriel magana-gonzalez

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Mon Apr 25, 2005 5:48 pm

I wish I had better news for you guys. Our focus for the 3.1 release is just getting it to work as is with Whidbey, and not yet to take advantage of possible new APIs. We have not yet dug into this issue deeply enough to know what is possible and what isn't, but will be doing that for the next major post-3.1 release.

ismangil
Posts: 197
Joined: Wed Jun 30, 2004 10:49 am
Location: Sheffield, UK
Contact:

Post by ismangil » Tue Apr 26, 2005 4:11 am

dan wrote: 2. Create 2 solutions, one which has bindings for all the projects in one repository and another which has bindings for all the projects in the other repository, and use the appropriate solution when making changes to the project you are working with. I'm not sure how well this would work, and yes, this is a terrible solution to the problem, but I'm including it for completeness sake :)
I posted the same problem a while back. I resolved it by going the multiple solutions route. I am using VS2003 with Vault 3.0.6.

The key to working with multiple repositories is, as Dan pointed out, to have one solution for each repository. This will mean your project will be a "Multi solution project" (in the terms of MSDN team dev doc) and it is the least recommended way of development, because you cannot do project references, but will have to do direct dll references.

In our case we can get away with it, because:

* for build process reasons we are already using dll references.
* one of the two solution is the "framework" which is rarely modified.

Note that you can still debug direct dll references as long as you have the complete source tree for them. So things like "step into" still works even for projects not on the solution.

Setting breakpoints across solutions is a bit more involved, but still doable.

Hope this helps.

futura
Posts: 9
Joined: Mon May 02, 2005 7:55 am

Does this not work, or does it work with side effects?

Post by futura » Tue May 10, 2005 8:46 am

I am using VS.NET 2003 with Vault 3.06 (and now 3.07), and we are using projects from multiple repositories in a single solution.

Is this supposed to be functionally impossible, or is it something that is allowed to happen, but with adverse side-effects?

We do not store our solution files in source control - only the projects. Perhaps this has a difference? Each project is bound separately to a different repository. When you view the bindings in VS.NET, they all mount to the correct point, as well they have the correct repository specifier (:1, etc.) in the project file.

Check-ins and check-outs seem to work fine, and the data's getting into Vault alright. Is there something I'm missing?

Thanks.

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Tue May 10, 2005 9:19 am

Hmmm - maybe not having the solution file is the trick.

To be honest, this is simply something we have not had time to investigate. We have not done anything special to support multiple repositories, so having it work in some cases is possible, but surprising. It may be that VS uses the solution connection info when a solution is loaded, but separate project connection info when the solution isn't loaded.

In any case, thanks for reporting this, and hopefully it will be useful to other folks when trying it out.

Post Reply