{"thread":{"id":"39711","subject":"Repository Code Scope (Plan Text)","startedAt":"2015-06-24T18:19:42Z","lastAt":"2015-06-24T19:09:32Z","messageCount":3,"participants":["BGaudreault Brian","Konstantin Khomoutov"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"264746","messageId":"BLUPR0701MB1969F347A7CA0ABBEE901242D7AF0@BLUPR0701MB1969.namprd07.prod.outlook.com","threadId":"39711","inReplyTo":null,"subject":"Repository Code Scope (Plan Text)","fromName":"BGaudreault Brian","fromEmail":"bgaudreault@edrnet.com","sentAt":"2015-06-24T18:19:42Z","receivedAt":"2015-06-24T18:19:42Z","isPatch":false,"sender":{"key":"bgaudreault@edrnet.com","avatar":null},"body":"Hello,\n\nWhat type of code scope should a repository contain?  Can it be one large program with many elements or should it just be part of a program or can it be a project with multiple programs?  What are the recommendations?\n\nThanks,\nBrian\n"},{"id":"264748","messageId":"20150624215246.55e60abab6afb139589c2765@domain007.com","threadId":"39711","inReplyTo":"BLUPR0701MB1969F347A7CA0ABBEE901242D7AF0@BLUPR0701MB1969.namprd07.prod.outlook.com","subject":"Re: Repository Code Scope (Plan Text)","fromName":"Konstantin Khomoutov","fromEmail":"kostix+git@007spb.ru","sentAt":"2015-06-24T18:52:46Z","receivedAt":"2015-06-24T18:52:46Z","isPatch":false,"sender":{"key":"kostix+git@007spb.ru","avatar":null},"body":"On Wed, 24 Jun 2015 18:19:42 +0000\nBGaudreault Brian <BGaudreault@edrnet.com> wrote:\n\n> What type of code scope should a repository contain?  Can it be one\n> large program with many elements or should it just be part of a\n> program or can it be a project with multiple programs?  What are the\n> recommendations?\n\nThere are no recommendations because the structure of a\nrepositories depends on the use case.\n\nIf you're developing a library which might be used by more than a\nsingle other project, host it in a separate repository, and in the\nprojects which use that library, refer to it using submodules.\n\nIf you have a project which contains internal submodules (say,\nfor .NET projects, it's common to have many so-called assemblies in a\nsingle project to provide modularity), there's little point in messing\nwith separate repositories and it's simpler to keep everything in one\nplace.\n\nNote that there are tools which allow you to split from a repository the\nhistory touching only the contents of a particular directory, and then\nglue such history back into some other repository.  Using these are not\nexactly a walk in the park but at least this sort of things is doable.\nThis means you might start with a simple solution and then shape it\ninto a more appropriate form when you'll see the need for this.\n\nI should also warn you that your question appear to be a bit too broad\nwhich, IMO, suggests that you did not do much research on what's\nofferred by Git and its ecosystem, what's in a Git repo, how is it\nhosted, what are the best practices of managing complicated Git\nprojects etc.  And all this information is abundant in the internets...\n"},{"id":"264751","messageId":"BLUPR0701MB1969F731E6A6D18C575CBFA1D7AF0@BLUPR0701MB1969.namprd07.prod.outlook.com","threadId":"39711","inReplyTo":"20150624215246.55e60abab6afb139589c2765@domain007.com","subject":"RE: Repository Code Scope (Plan Text)","fromName":"BGaudreault Brian","fromEmail":"bgaudreault@edrnet.com","sentAt":"2015-06-24T19:09:32Z","receivedAt":"2015-06-24T19:09:32Z","isPatch":false,"sender":{"key":"bgaudreault@edrnet.com","avatar":null},"body":"Thanks.  So are you saying there are tools that will let us start a repo for a project with multiple submodules and then pull out the coding history for a specific submodule so we can create a separate repository just for that submodule?\n\nI've actually been doing a lot of research about Git for many things that Git doesn't have basic documentation for, but I wasn't sure how to search for an answer to this type of question.  Plus, we're trying to adopt Git quickly, and since I'm not a developer I have a lot of research that has to be done to understand what developers understand and how we can manage GIt, which is slowing down our adoption of Git.\n\nThanks,\nBrian\n\n-----Original Message-----\nFrom: Konstantin Khomoutov [mailto:kostix+git@007spb.ru] \nSent: Wednesday, June 24, 2015 2:53 PM\nTo: BGaudreault Brian\nCc: git@vger.kernel.org\nSubject: Re: Repository Code Scope (Plan Text)\n\nOn Wed, 24 Jun 2015 18:19:42 +0000\nBGaudreault Brian <BGaudreault@edrnet.com> wrote:\n\n> What type of code scope should a repository contain?  Can it be one \n> large program with many elements or should it just be part of a \n> program or can it be a project with multiple programs?  What are the \n> recommendations?\n\nThere are no recommendations because the structure of a repositories depends on the use case.\n\nIf you're developing a library which might be used by more than a single other project, host it in a separate repository, and in the projects which use that library, refer to it using submodules.\n\nIf you have a project which contains internal submodules (say, for .NET projects, it's common to have many so-called assemblies in a single project to provide modularity), there's little point in messing with separate repositories and it's simpler to keep everything in one place.\n\nNote that there are tools which allow you to split from a repository the history touching only the contents of a particular directory, and then glue such history back into some other repository.  Using these are not exactly a walk in the park but at least this sort of things is doable.\nThis means you might start with a simple solution and then shape it into a more appropriate form when you'll see the need for this.\n\nI should also warn you that your question appear to be a bit too broad which, IMO, suggests that you did not do much research on what's offerred by Git and its ecosystem, what's in a Git repo, how is it hosted, what are the best practices of managing complicated Git projects etc.  And all this information is abundant in the internets...\n"}]}