Skip to main content
replaced http://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Diamond_inheritance.svg/200px-Diamond_inheritance.svg.png with https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Diamond_inheritance.svg/200px-Diamond_inheritance.svg.png
Source Link
URL Rewriter Bot
URL Rewriter Bot

My problem may be best described with an example.

Assume I have a project "A".

I also have a project "B" which depends on "A".

Another project "C" also depends on "A".

My "main" project depends on "B" and "C". It may also be that it also depends directly on "A".

Looks a bit like the "dreaded diamond of inheritance" when "main" == "D"

dreaded diamond of inheritance http://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Diamond_inheritance.svg/200px-Diamond_inheritance.svg.pngdreaded diamond of inheritance

These are my requirements:

  • I'd like to be able to edit the content of projects "A", "B" and "C" in the solution for "main " and submit changes (i.e. I don't want just to include the DLL but also the code). But since "B" and "C" both depend on "A", it should be enforced that they reference the same commit.

  • The projects "A", "B" and "C" will most likely also be referenced by other projects, so I cannot assume ownership of the working directory for project "main".

  • Also it should be possible to sync the repositories for each project with external repositories.

  • The projects "A", "B", "C" and "main" should be

How do I need to set up my repositories to accomplish this?

My problem may be best described with an example.

Assume I have a project "A".

I also have a project "B" which depends on "A".

Another project "C" also depends on "A".

My "main" project depends on "B" and "C". It may also be that it also depends directly on "A".

Looks a bit like the "dreaded diamond of inheritance" when "main" == "D"

dreaded diamond of inheritance http://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Diamond_inheritance.svg/200px-Diamond_inheritance.svg.png

These are my requirements:

  • I'd like to be able to edit the content of projects "A", "B" and "C" in the solution for "main " and submit changes (i.e. I don't want just to include the DLL but also the code). But since "B" and "C" both depend on "A", it should be enforced that they reference the same commit.

  • The projects "A", "B" and "C" will most likely also be referenced by other projects, so I cannot assume ownership of the working directory for project "main".

  • Also it should be possible to sync the repositories for each project with external repositories.

  • The projects "A", "B", "C" and "main" should be

How do I need to set up my repositories to accomplish this?

My problem may be best described with an example.

Assume I have a project "A".

I also have a project "B" which depends on "A".

Another project "C" also depends on "A".

My "main" project depends on "B" and "C". It may also be that it also depends directly on "A".

Looks a bit like the "dreaded diamond of inheritance" when "main" == "D"

dreaded diamond of inheritance

These are my requirements:

  • I'd like to be able to edit the content of projects "A", "B" and "C" in the solution for "main " and submit changes (i.e. I don't want just to include the DLL but also the code). But since "B" and "C" both depend on "A", it should be enforced that they reference the same commit.

  • The projects "A", "B" and "C" will most likely also be referenced by other projects, so I cannot assume ownership of the working directory for project "main".

  • Also it should be possible to sync the repositories for each project with external repositories.

  • The projects "A", "B", "C" and "main" should be

How do I need to set up my repositories to accomplish this?

Notice removed Draw attention by Onur
Bounty Ended with VonC's answer chosen by Onur
Notice added Draw attention by Onur
Bounty Started worth 50 reputation by Onur
Source Link
Onur
  • 5.3k
  • 6
  • 42
  • 60

How do I set up my git repositories to easily be able to reuse projects in Visual Studio

My problem may be best described with an example.

Assume I have a project "A".

I also have a project "B" which depends on "A".

Another project "C" also depends on "A".

My "main" project depends on "B" and "C". It may also be that it also depends directly on "A".

Looks a bit like the "dreaded diamond of inheritance" when "main" == "D"

dreaded diamond of inheritance http://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Diamond_inheritance.svg/200px-Diamond_inheritance.svg.png

These are my requirements:

  • I'd like to be able to edit the content of projects "A", "B" and "C" in the solution for "main " and submit changes (i.e. I don't want just to include the DLL but also the code). But since "B" and "C" both depend on "A", it should be enforced that they reference the same commit.

  • The projects "A", "B" and "C" will most likely also be referenced by other projects, so I cannot assume ownership of the working directory for project "main".

  • Also it should be possible to sync the repositories for each project with external repositories.

  • The projects "A", "B", "C" and "main" should be

How do I need to set up my repositories to accomplish this?