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

Re: [RFC] Support projects including other projects

From
Junio C Hamano <junkio@cox.net>
Date
May 12, 2005, 06:28 UTC
Message-ID
<7v8y2lj6u9.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<Pine.LNX.4.21.0505120147100.30848-100000@iabervon.org>
>>>>> "DB" == Daniel Barkalow <barkalow@iabervon.org> writes:
DB> My reasons for having it in the core are as follows:

DB> - All of the porcelain layers have to, at least, agree as DB> to how this is represented in order for repositories to be DB> portable; since the representation is common, it might as DB> well be core.

That is weak. .git/refs/heads/master is not core, but something Porcelain need to agree on [*1*].

DB> - There are currently no special files which are tracked for cogito (et DB> al) to put the information in.

I am somewhat sympathetic to this, but then there are probably lot other things that are more relevant than this "required version" thing. One thing that immediately comes to mind is the dontdiff list. Also, if you consider Cogito and GIT independent projects as you said, you would probably need to have "require {project-name} {commit-id}", not "include {commit-id}". Things start smelling much more like the traditional package version matching issue which is outside of SCM (let alone core GIT).

DB> - Ideally, the dependancy would only be per-commit, not DB> per-tree; if Petr releases a new cogito which only merges a DB> new mainline with the git-pb, the cogito tree object should DB> be the same (since the cogito content didn't change). This DB> means that it can't be anywhere other than the commit.

As I already said, I consider the current "overlayed" directory structure broken and not worth considering the toolset support [*2*].

DB> - If the solution to the issue of finding the necessary DB> git-pb is to store it with cogito, then the programs that DB> pull from this repository need to know that they need to DB> pull the git-pb portion, and fsck-cache needs to know that DB> the cogito references the git-pb.

I do not think this is necessary for the same reason as I dismissed the third point above.

[Footnotes]

*1* I consider git-pull-script one example of Porcelain, JIT knows about it as well.

*2* "Broken" is probably a too strong word here. I know Petr did it that way because it was the simplest way to start, and I started the same way when I started JIT, until I realized separating the core and treating the core as something I can borrow from the neighbouring directory is much easier to manage. I think Petr knows this, and I further think that is why he started git-pb.

Previous: Daniel BarkalowNext: Daniel Barkalow
Message 6 of 14 in “[RFC] Support projects including other projects”
  1. Daniel BarkalowMay 12, 2005
  2. Junio C HamanoMay 12, 2005
  3. Daniel BarkalowMay 12, 2005
  4. Junio C HamanoMay 12, 2005
  5. Daniel BarkalowMay 12, 2005
  6. Junio C HamanoMay 12, 2005
  7. Daniel BarkalowMay 12, 2005
  8. David LangMay 12, 2005
  9. Junio C HamanoMay 12, 2005
  10. Daniel BarkalowMay 12, 2005
  11. Junio C HamanoMay 12, 2005
  12. James PurserMay 12, 2005
  13. Daniel BarkalowMay 12, 2005
  14. James PurserMay 12, 2005

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.