git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Site dependent repositories

From
Jens Lehmann <jens.lehmann@web.de>
Date
Aug 21, 2011, 16:14 UTC
Message-ID
<4E512EE6.60900@web.de>
In-Reply-To
<4E507C05.2090700@sbcglobal.net>
Am 21.08.2011 05:31, schrieb Stewart A. Brown:
Show 23 quoted lines
> I am wondering whether or not git has the functionality to handle
> my situation.
> 
> I have git repositories at multiple sites.  At each site the git repository
> has site dependent sources.  Each repository is organised something
> like:
> 
> top/a/local
>       b
>       c/d/extensions
>       e
> 
> The directories top, a, b, c, d, and e have sources that need to be
> pushed or pulled between the repositories at all sites.  The directories
> 'local' and 'extensions' have sources that must be managed within sites
> but never pushed or pulled between sites.
> 
> The ignore mechanism will not suffice because the files in 'local' and
> 'extensions' must be source managed.  I have looked a bit into
> submodules, filters, and hooks.  None of these jumps out as obvious, but
> they are rich mechanisms with plenty of subtleties.
> 
> Does git have a way of letting me do this?
It would work if you could set it up like this:
top/shared
    non-shared-stuff

where "top" is your git repository, "shared" is a submodule you put all the non-site specific stuff in and have that version controlled together with your local stuff. If you can't rearrange your directory tree you might be able to use symlinks to achieve that layout:

top/a/local -> ../local
      b
      c/d/extensions -> ../../extensions
      e
top/extension
top/local

where "a" is your shared submodule that lives together with "extensions" and "local" in the top level repo.

Previous: Evan Shelhamer
Message 4 of 4 in “Site dependent repositories”
  1. Stewart A. BrownAug 21, 2011
  2. Andrew KellerAug 21, 2011
  3. Evan ShelhamerAug 21, 2011
  4. Jens LehmannAug 21, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.