views:

111

answers:

2

In order to simplify the build process, I've been trying to reorganize my version control repository.

I am developing a simple client-server application. Following Rob Williams' advice, I have separated the client and the server into separate projects each with their own lifecycle. The problem though, is that client and server share some communication code. More specifically the client sends message objects that the server receives. Both projects are being developed in C++, and the message object headers are required for the client and server to compile.

How should I go about sharing the message object headers between the two projects without using a version-control feature such as svn:externals?

A: 
  1. place communication (=common) code in third repository
  2. place required only part of communication code in client side
  3. place folder with common code within svn directory and ignore it. This case communication code can be placed in any other subversion repository (or branch of it)
Meta
+1  A: 

Why don't you put your common code into a third repository. Then use a convention for naming your working copies, so that you can use relative include paths like ../shared/someheader.h

lothar
As simple as it is effective.
snazzer