From: Andreas Ericsson <ae@op5.se>
To: Uwe Kleine-Koenig <zeisberg@informatik.uni-freiburg.de>,
Andreas Ericsson <ae@op5.se>, Martin Waitz <tali@admingilde.org>,
Andy Parkins <andyparkins@gmail.com>,
git@vger.kernel.org
Subject: Re: [RFC] Submodules in GIT
Date: Tue, 05 Dec 2006 16:30:53 +0100 [thread overview]
Message-ID: <457590AD.4000806@op5.se> (raw)
In-Reply-To: <20061205150217.GA5573@cepheus>
Uwe Kleine-Koenig wrote:
> Hella Andreas,
>
> Andreas Ericsson wrote:
>>>> The only problem I'm seeing atm is that the supermodule somehow has to
>>>> mark whatever commits it's using from the submodule inside the submodule
>>>> repo so that they effectively become un-prunable, otherwise the
>>>> supermodule may some day find itself with a history that it can't restore.
>>> One could circumvent that by creating a separate repo for the submodule
>>> at checkout time and pull the needed objects in the supermodule's odb
>>> when commiting the supermodule. This way prune in the submodule cannot
>>> do any harm, because in it's odb are no objects that are important for
>>> the supermodule.
>> Yes, but then you'd lose history connectivity (I'm assuming you'd only
>> pull in the tree and blob objects from the submodule, and prefix the
>> tree-entrys with whatever directory you're storing the submodul in).
> That's the reason for me prefering to pull in the complete commit.
>
> I don't understand what you mean with "prefix the tree-entrys with
> whatever directory you're storing the submodul in".
> Maybe one of us doesn't understand tree objects correctly. AFAICT they
> don't store the location where they occur, so there is no need to store
> a prefix. E.g.
>
> 100644 blob 610bafd79f92c7e546b104d5b22795df1f099723 Makefile
> 040000 tree 754eadab39642175748bb02155d2959176bcf014 subdir
>
> So the tree that only contains the Makefile specifing LD_FLAGS has the
> sha1id 754eadab39642175748bb02155d2959176bcf014 independent of being the
> root of my project or a subtree.
>
> But maybe I misunderstood you?
>
Nopes. I just didn't think of the fact that subtrees are trees and never
store any path-info no matter what. So basically the supermodule can
store all trees of all submodules for each commit adding a new submodule
revision (which is neat, since "casuals" never have to bother with
getting all the submodules if they want to see all the code used in any
particular revision), while we invent the new tree object "subm" that
points to a commit in the submodule repo. We then teach the tools to
recognize when the *real* submodule repo is present and just don't check
out trees from the supermodule odb that lead us to directories where
submodules reside. Simple and beautiful. Me likes.
*IF* we teach the history viewers about submodules is a different matter
though. I'm not sure it would make much sense to have simple text-mode
browsers show the submodule history, although I can imagine qgit and
gitk wanting to take advantage of their nice side-by-side DAG displaying
code to show all the repos in parallell, or link between them in some
point-and-click kind of way.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
next prev parent reply other threads:[~2006-12-05 15:30 UTC|newest]
Thread overview: 252+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-20 21:51 [RFC] Submodules in GIT Martin Waitz
2006-11-20 22:16 ` Jakub Narebski
2006-11-20 22:28 ` Martin Waitz
2006-11-20 22:43 ` Junio C Hamano
2006-11-20 23:02 ` Jakub Narebski
2006-11-20 23:52 ` Martin Waitz
2006-11-21 1:31 ` Sam Vilain
2006-11-20 23:05 ` Linus Torvalds
2006-11-20 23:25 ` J. Bruce Fields
2006-11-20 23:33 ` Martin Waitz
2006-11-21 18:01 ` J. Bruce Fields
2006-11-21 19:32 ` Martin Waitz
2006-11-20 23:29 ` Martin Waitz
2006-11-21 0:10 ` Junio C Hamano
2006-11-21 0:42 ` Jakub Narebski
2006-11-21 6:21 ` Martin Waitz
2006-11-21 10:04 ` Jakub Narebski
2006-11-21 11:49 ` Martin Waitz
2006-11-21 6:27 ` Martin Waitz
2006-11-21 7:36 ` Junio C Hamano
2006-11-21 7:55 ` Martin Waitz
2006-11-21 22:31 ` Yann Dirson
2006-11-21 22:51 ` Linus Torvalds
2006-11-21 22:59 ` Linus Torvalds
2006-11-21 23:54 ` Yann Dirson
2006-11-22 3:40 ` Shawn Pearce
2006-11-23 23:23 ` Yann Dirson
2006-11-25 6:53 ` Shawn Pearce
2006-11-25 11:12 ` Yann Dirson
2006-11-25 18:57 ` Linus Torvalds
2006-11-25 19:19 ` Steven Grimm
2006-11-25 19:30 ` Linus Torvalds
2006-11-25 23:49 ` Yann Dirson
2006-11-26 1:14 ` Sven Verdoolaege
2006-11-26 1:32 ` Yann Dirson
2006-11-26 3:39 ` Linus Torvalds
2006-11-26 8:05 ` Daniel Barkalow
2006-11-28 9:36 ` Andreas Ericsson
2006-11-28 10:29 ` Andy Parkins
2006-11-28 10:50 ` Jakub Narebski
2006-11-28 13:35 ` Andy Parkins
2006-11-28 15:44 ` Shawn Pearce
2006-11-28 16:29 ` Andy Parkins
2006-11-28 16:36 ` Shawn Pearce
2006-11-28 17:38 ` Jon Loeliger
2006-11-29 16:15 ` Martin Waitz
2006-11-30 11:57 ` sf
[not found] ` <200611301255.41733.andyparkins@gmail.com>
2006-11-30 14:00 ` Stephan Feder
2006-11-30 14:49 ` Andy Parkins
2006-11-30 15:20 ` Sven Verdoolaege
2006-11-30 15:30 ` Andy Parkins
2006-11-30 15:50 ` Andreas Ericsson
2006-11-30 16:08 ` Andy Parkins
2006-11-30 16:33 ` Sven Verdoolaege
2006-12-01 0:01 ` Andy Parkins
2006-12-01 0:11 ` Jakub Narebski
2006-12-01 9:32 ` Sven Verdoolaege
2006-12-01 10:19 ` Andy Parkins
2006-11-30 17:19 ` Martin Waitz
2006-11-30 16:05 ` sf
2006-11-30 16:12 ` sf
2006-12-01 9:19 ` Andy Parkins
2006-12-01 9:57 ` Martin Waitz
2006-12-01 10:29 ` Andy Parkins
2006-12-01 10:42 ` Sven Verdoolaege
2006-12-01 11:02 ` Andy Parkins
2006-12-01 11:10 ` Sven Verdoolaege
2006-12-01 11:45 ` sf
2006-12-01 12:12 ` Andy Parkins
2006-12-01 12:28 ` Martin Waitz
2006-12-01 14:11 ` Andy Parkins
2006-12-01 15:12 ` Martin Waitz
2006-12-01 11:46 ` Martin Waitz
2006-12-01 12:16 ` Andy Parkins
2006-12-01 12:34 ` Martin Waitz
2006-12-01 13:59 ` Andy Parkins
2006-12-01 14:07 ` Martin Waitz
2006-12-01 11:31 ` Martin Waitz
2006-12-01 12:20 ` Andy Parkins
2006-12-01 12:37 ` Martin Waitz
2006-12-02 15:16 ` Jakub Narebski
2006-11-28 19:58 ` Steven Grimm
2006-11-28 21:02 ` Shawn Pearce
2006-11-29 16:03 ` Martin Waitz
2006-11-29 20:00 ` Andy Parkins
2006-11-30 12:16 ` Andreas Ericsson
2006-11-30 12:40 ` Andy Parkins
2006-11-30 17:06 ` Martin Waitz
2006-11-30 18:57 ` Andreas Ericsson
2006-12-01 8:49 ` Andy Parkins
2006-12-01 9:33 ` Andreas Ericsson
2006-12-01 10:38 ` Andy Parkins
2006-12-01 12:03 ` sf
2006-12-01 12:11 ` Martin Waitz
2006-12-01 13:21 ` sf
2006-12-01 13:43 ` Martin Waitz
2006-12-01 14:23 ` Stephan Feder
2006-12-01 15:07 ` Martin Waitz
2006-12-01 16:04 ` Stephan Feder
2006-12-01 16:15 ` Martin Waitz
2006-12-05 9:01 ` Uwe Kleine-Koenig
2006-12-05 10:33 ` Andreas Ericsson
2006-12-05 11:11 ` Jakub Narebski
2006-12-05 15:02 ` Uwe Kleine-Koenig
2006-12-05 15:30 ` Andreas Ericsson [this message]
2006-12-05 16:00 ` Sven Verdoolaege
2006-12-01 9:02 ` Andy Parkins
2006-12-01 11:00 ` Martin Waitz
2006-12-01 12:09 ` sf
2006-12-01 12:12 ` Martin Waitz
2006-12-01 13:05 ` sf
2006-12-01 13:35 ` Martin Waitz
2006-12-01 13:43 ` Andreas Ericsson
2006-12-01 13:46 ` Martin Waitz
2006-12-01 14:52 ` Andreas Ericsson
2006-12-01 15:00 ` Martin Waitz
2006-12-01 16:38 ` Andreas Ericsson
2006-12-01 16:49 ` Linus Torvalds
2006-12-01 17:08 ` sf
2006-12-01 18:06 ` Andreas Ericsson
2006-12-01 20:13 ` Linus Torvalds
2006-12-01 20:30 ` Martin Waitz
2006-12-01 23:23 ` Alan Chandler
2006-12-01 22:06 ` Josef Weidendorfer
2006-12-01 22:12 ` Martin Waitz
2006-12-01 22:26 ` Josef Weidendorfer
2006-12-01 22:40 ` Martin Waitz
2006-12-01 23:17 ` Josef Weidendorfer
2006-12-02 20:24 ` Martin Waitz
2006-12-03 0:55 ` Josef Weidendorfer
2006-12-03 6:29 ` Martin Waitz
2006-12-01 22:26 ` Linus Torvalds
2006-12-01 22:41 ` sf
2006-12-01 23:03 ` Josef Weidendorfer
2006-12-01 23:09 ` Linus Torvalds
2006-12-01 23:36 ` Josef Weidendorfer
2006-12-02 0:12 ` Linus Torvalds
2006-12-02 9:22 ` Andy Parkins
[not found] ` <200612021255.59972.Josef.Weidendorfer@gmx.de>
2006-12-03 9:42 ` Andy Parkins
2006-12-02 11:32 ` Josef Weidendorfer
2006-12-02 19:52 ` Linus Torvalds
2006-12-02 20:21 ` Martin Waitz
2006-12-02 20:46 ` Linus Torvalds
2006-12-02 20:58 ` Martin Waitz
2006-12-03 1:11 ` Josef Weidendorfer
2006-12-02 20:18 ` Martin Waitz
2006-12-02 20:44 ` Linus Torvalds
2006-12-02 21:06 ` Martin Waitz
2006-12-02 21:29 ` Linus Torvalds
2006-12-02 21:22 ` Linus Torvalds
2006-12-03 2:07 ` Thoughts about memory requirements in traversals [Was: Re: [RFC] Submodules in GIT] Josef Weidendorfer
2006-12-03 2:25 ` Linus Torvalds
2006-12-03 2:46 ` Shawn Pearce
2006-12-03 3:21 ` Josef Weidendorfer
2006-12-03 11:10 ` Jakub Narebski
2006-12-03 11:47 ` Josef Weidendorfer
2006-12-03 20:46 ` [RFC] Submodules in GIT Martin Waitz
2006-12-03 22:16 ` Sven Verdoolaege
2006-12-03 22:32 ` Linus Torvalds
2006-12-03 22:49 ` Jakub Narebski
2006-12-04 11:12 ` Josef Weidendorfer
2006-12-01 23:49 ` sf
2006-12-02 18:57 ` Torgil Svensson
2006-12-02 19:41 ` Linus Torvalds
2006-12-03 9:19 ` Torgil Svensson
2006-12-03 17:54 ` Linus Torvalds
2006-12-04 20:26 ` Torgil Svensson
2006-12-04 20:41 ` Linus Torvalds
2006-12-04 21:36 ` Torgil Svensson
2006-12-05 10:42 ` Andreas Ericsson
2006-12-05 11:09 ` Jakub Narebski
2006-12-05 10:38 ` Andreas Ericsson
2006-12-05 11:01 ` Jakub Narebski
2006-12-03 19:33 ` Andy Parkins
2006-12-05 2:33 ` Daniel Barkalow
2006-12-05 22:07 ` sf
2006-12-09 21:34 ` R. Steve McKown
2006-12-10 11:47 ` Torgil Svensson
2006-12-14 21:27 ` Torgil Svensson
2006-12-14 23:07 ` Josef Weidendorfer
2006-12-15 17:43 ` Torgil Svensson
2006-12-15 21:42 ` Josef Weidendorfer
2006-12-15 23:43 ` Torgil Svensson
2006-12-16 1:13 ` Torgil Svensson
2006-12-16 1:20 ` Torgil Svensson
2006-12-16 1:34 ` Jakub Narebski
2006-12-16 8:40 ` Torgil Svensson
2006-12-16 9:57 ` Jakub Narebski
2006-12-16 10:25 ` Junio C Hamano
2006-12-16 15:05 ` Torgil Svensson
2006-12-16 15:38 ` Torgil Svensson
2006-12-16 16:32 ` Jakub Narebski
2006-12-17 0:21 ` Torgil Svensson
2006-12-16 1:49 ` Linus Torvalds
2006-12-16 2:12 ` Linus Torvalds
2006-12-16 8:50 ` Torgil Svensson
2006-12-02 20:12 ` Martin Waitz
2006-12-01 22:55 ` Josef Weidendorfer
2006-12-01 23:07 ` Martin Waitz
2006-12-01 23:30 ` Linus Torvalds
2006-12-02 0:14 ` Josef Weidendorfer
2006-12-02 0:33 ` Linus Torvalds
2006-12-02 9:27 ` Andy Parkins
2006-12-04 18:56 ` Michael K. Edwards
2006-12-05 1:31 ` Sam Vilain
2006-12-01 22:35 ` sf
2006-12-08 18:29 ` Jon Loeliger
2006-12-08 18:45 ` Sven Verdoolaege
2006-12-12 8:32 ` Andreas Ericsson
2006-12-01 17:14 ` Martin Waitz
2006-12-01 16:57 ` Martin Waitz
2006-12-01 18:08 ` Andreas Ericsson
2006-12-01 18:51 ` Martin Waitz
2006-12-01 13:51 ` Stephan Feder
2006-12-01 14:58 ` Martin Waitz
2006-12-01 15:47 ` Stephan Feder
2006-12-01 16:54 ` Martin Waitz
2006-12-01 17:33 ` Stephan Feder
2006-12-01 18:48 ` Martin Waitz
2006-12-01 23:34 ` sf
2006-12-02 19:46 ` Martin Waitz
2006-12-01 19:17 ` Andy Parkins
2006-12-01 19:38 ` Martin Waitz
2006-12-01 21:04 ` Andy Parkins
2006-12-01 21:37 ` Martin Waitz
2006-12-01 21:54 ` Andy Parkins
2006-12-01 22:08 ` Martin Waitz
2006-12-02 10:04 ` Andy Parkins
2006-12-02 13:50 ` Josef Weidendorfer
2006-12-02 20:43 ` Martin Waitz
2006-12-03 1:02 ` Josef Weidendorfer
2006-12-02 20:40 ` Martin Waitz
2006-12-02 13:14 ` Jakub Narebski
2006-12-02 13:08 ` Jakub Narebski
2006-12-02 12:48 ` Jakub Narebski
2006-11-28 17:28 ` Daniel Barkalow
2006-11-28 18:08 ` Sven Verdoolaege
2006-11-28 18:37 ` Daniel Barkalow
2006-11-28 19:06 ` Sven Verdoolaege
2006-11-28 20:41 ` Daniel Barkalow
2006-11-28 21:10 ` Shawn Pearce
2006-11-28 21:32 ` Daniel Barkalow
2006-11-28 21:53 ` Linus Torvalds
2006-11-20 22:49 ` Jakub Narebski
2006-11-21 7:21 ` Shawn Pearce
2006-11-22 5:29 ` Petr Baudis
2006-12-02 20:16 ` Jakub Narebski
2006-12-03 1:24 ` Robin Rosenberg
2006-12-03 1:31 ` Jakub Narebski
2006-12-03 12:22 ` Robin Rosenberg
2006-12-03 12:31 ` Jakub Narebski
2006-12-03 11:00 ` Jakub Narebski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=457590AD.4000806@op5.se \
--to=ae@op5.se \
--cc=andyparkins@gmail.com \
--cc=git@vger.kernel.org \
--cc=tali@admingilde.org \
--cc=zeisberg@informatik.uni-freiburg.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).