Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 751679
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T14:41:39+00:00 2026-05-14T14:41:39+00:00

One of the things I like about the way I have Subversion set up

  • 0

One of the things I like about the way I have Subversion set up is that I can have a single main repository with multiple projects. When I want to work on a project I can check out just that project. Like this

\main
    \ProductA
    \ProductB
    \Shared

then

svn checkout http://.../main/ProductA

As a new user to git I want to explore a bit of best practice in the field before committing to a specific workflow. From what I’ve read so far, git stores everything in a single .git folder at the root of the project tree. So I could do one of two things.

  1. Set up a separate project for each Product.
  2. Set up a single massive project and store products in sub folders.

There are dependencies between the products, so the single massive project seems appropriate. We’ll be using a server where all the developers can share their code. I’ve already got this working over SSH & HTTP and that part I love. However, the repositories in SVN are already many GB in size so dragging around the entire repository on each machine seems like a bad idea – especially since we’re billed for excessive network bandwidth.

I’d imagine that the Linux kernel project repositories are equally large so there must be a proper way of handling this with Git but I just haven’t figured it out yet.

Are there any guidelines or best practices for working with very large multi-project repositories?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T14:41:40+00:00Added an answer on May 14, 2026 at 2:41 pm

    The guideline is simple, in regards to Git limits:

    • one repo per project
    • a main project with submodules.

    The idea is not to store everything in one giant git repo, but build a small repo as a main project, which will reference the right commits of other repos, each one representing a project or common component of its own.


    The OP Paul Alexander comments:

    This sounds similar to the “externals” support provided by subversion.
    We tried this and found it extremely cumbersome to constantly update the version references in the externals since the projects are developed concurrently with dependencies on each other. Is there another option??

    @Paul: yes, instead of updating the version from the main project, you either:

    • develop your subprojects directly from within the main project (as explained in “True Nature of submodules“),
    • or you reference in a sub-repo an origin towards the same sub-repo being developed elsewhere: from there you just have to pull from that sub-repo the changes made elsewhere.

    In both case, you have to not forget to commit the main project, to record the new configuration. No “external” property to update here. The all process is much more natural.

    Honestly, this sounds like a real pain and anything that requires developers to do something manually each time is just going to be a regular source of bugs an maintenance.
    I suppose I’ll look into automating this with some scripts in the super project.

    I replied:

    Honestly, you may have been right… that is until latest Git release 1.7.1.
    git diff and git status both learned to take into account submodules states even if executed from the main project.
    You simply cannot miss submodule modification.

    That being said:

    • submodules are different from SVN externals: see “Why are git submodules incompatible with svn externals?“
    • managing submodules can be tricky: see “How exactly does git submodule work?“.
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

One thing I have continually found very confusing about using an object database like
Theory: One of the things that appeals to me about node.js is using it
I have two projects in the same Subversion repository. They both use some standard
I have a project that is stored in a Subversion repository. In this repository,
Currently in my CI project I have a single controller that handles all things
One of the things I like about the YUI framework is the DataSource control.
I have a class which accumulates information about a set of objects, and can
Is there a standard way to represent a set that can contain duplicate elements.
I use VSTO Excel template based solutions frequently. One of the things I like
One of the first things I like to do when I make a site

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.