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

Managing sub-projects

From
MEMichael Eager <eager@eagerm.com>
Date
Jun 18, 2016, 23:20 UTC
Message-ID
<5765D752.4000404@eagerm.com>

I'm trying to create a git repository for a tool chain for a proprietary processor. I'd like to create a private repo with documentation, build scripts, etc., which includes several sub-projects: binutils, gcc, newlib, etc. Each of the sub-projects will have a branch which has support for the new processor. These branches need to be maintained in my repo, not in the upstream repo. I want to be able to periodically rebase these branches from the upstream repo.

I've looked at several schemes, but each one seems to do something other than what I want.

Git submodule: Branches created in the sub-projects are pushed to the upstream repo, not to my repo. I tried to change origin and created an upstream reference, but was not able to get changes pushed to my repo.

git subtree:  Does not maintain sub-project history or allow rebase.

git slave: Requires multiple private repos. Appears to require the same branch names in each sub-project.

repo: Appears to work a bit like git submodules, where pushes on the sub-projects go to the upstream repo, not to the private repo.

Any other ways to do what I want without creating a separate forked repo for each of the sub-projects? Or have I misunderstood one of these schemes?

-- 
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077
Next: Stefan Beller
Message 1 of 4 in “Managing sub-projects”
  1. Michael EagerJun 18, 2016
  2. Stefan BellerJun 20, 2016
  3. Michael EagerJun 21, 2016
  4. Stefan BellerJun 21, 2016

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.