threads / discuss / 9695

New to git, related multi-projects

Subject: New to git, related multi-projects

## tl;dr

2 messages between Aug 29, 2007 and Aug 29, 2007.

replies: 1people: 2as markdown or json

Jean-François Veillette· Aug 29, 2007, 18:18 UTC · lore

Here is my setup, please briefly tell me what would be the suggested git configuration.

The company currently use cvs, it has a cvs tree where the first directory level is per client, the second directory level is the project, then inside it we have the many artifacts, like : cvsserver/Shared/Documentation/PresentationTemplate.doc cvsserver/Shared/Documentation/AnalysisTemplate.doc cvsserver/Shared/Devel/CommonLib/* cvsserver/ClientA/ProjectA/Doc/Presentation.doc cvsserver/ClientA/ProjectA/Doc/Analysis.doc cvsserver/ClientA/ProjectA/Dev/ApplicationA/* cvsserver/ClientA/ProjectA/Dev/ApplicationB/* cvsserver/ClientA/ProjectA/Dev/ApplicationC/* cvsserver/ClientA/ProjectA/Dev/LibraryA/* cvsserver/ClientA/ProjectA/Dev/LibraryB/*

What would be the best way to represent a similar setup in git ? I was thinking of having a repository at the project level, and add atomic subdirectories (code for applications and libraries for example) as submodules. If submodule are the right way to go, can a submodule, include a submodule, for example, ApplicationA use LibraryA and CommonLib ?

Thanks,
- jfv
Alex Riesen· Aug 29, 2007, 19:52 UTC · re: Jean-François Veillette · lore

Re: New to git, related multi-projects

Jean-François Veillette, Wed, Aug 29, 2007 20:18:14 +0200:
Show 19 quoted lines
> The company currently use cvs, it has a cvs tree where the first  
> directory level is per client, the second directory level is the  
> project, then inside it we have the many artifacts, like :
> cvsserver/Shared/Documentation/PresentationTemplate.doc
> cvsserver/Shared/Documentation/AnalysisTemplate.doc
> cvsserver/Shared/Devel/CommonLib/*
> cvsserver/ClientA/ProjectA/Doc/Presentation.doc
> cvsserver/ClientA/ProjectA/Doc/Analysis.doc
> cvsserver/ClientA/ProjectA/Dev/ApplicationA/*
> cvsserver/ClientA/ProjectA/Dev/ApplicationB/*
> cvsserver/ClientA/ProjectA/Dev/ApplicationC/*
> cvsserver/ClientA/ProjectA/Dev/LibraryA/*
> cvsserver/ClientA/ProjectA/Dev/LibraryB/*
> 
> What would be the best way to represent a similar setup in git ?
> I was thinking of having a repository at the project level, and add  
> atomic  subdirectories (code for applications and libraries for  
> example)  as submodules.
> If submodule are the right way to go, ...

not necessarily. I'd try plain branches first, unless the client's projects have lots of applications (or libraries, IOW, modules) and many of them are optional for your development process. "Optional" better fits what submodules are: their presence is supermodule is optional too. Many fixes after introduction of the submodules was just ignoring them :)

> ... can a submodule, include a   submodule, for example,
> ApplicationA use LibraryA and CommonLib ?
yes.

← back to recent threads