On Wednesday, August 1, 2012 5:26:59 PM UTC+2, Dan Luciano wrote: > > I am new to Git. I have used Perforce and SourceSafe in the past. My > question is about managing multiple projects using Git. For example, we > have all of our projects in a main folder. This main folder has > sub-folders for each project such as endorsements, rating, business > objects, etc. Is it best to create a repository for the main folder, or > should a repository be created for each sub-folder? What is the "best > practice" that others use?
My rule of thumb is that if the code shares the same release cycle (meaning that it is changed, deployed, tagged, etc), it should be in the same repository. You should be able to *ship* out of a single repository. Let's say you ship the software twice a year. During a release (or a build), you compile and build together *each* sub-folder inside main to a separate deployable artifact (exe, war, rpm or whatever bundle you ship). If this is the case, they share version number, in other words: tags, and should therefore remain in one repository, so you only have to tag one place. However, if one sub-folder is shipped once every two years, while another is shipped every month, this speaks for keeping them in separate repositories. Another factor is whether the sub-folders *share code*. If so, this speaks towards keeping them in a common repository. If they are completely isolated from another, that tends towards having separate artifacts. There are probably more factors you could think of, and there is no definite answer. It's a balance which is very context-specific, so you have to figure out the right path for your project. -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To view this discussion on the web visit https://groups.google.com/d/msg/git-users/-/iwivl6htj8UJ. To post to this group, send email to git-users@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.