From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Subject: Re: [RFC] Submodules in GIT
Date: Tue, 05 Dec 2006 12:09:02 +0100 [thread overview]
Message-ID: <el3jsh$i62$1@sea.gmane.org> (raw)
In-Reply-To: 45754D27.9070701@op5.se
Andreas Ericsson wrote:
> Torgil Svensson wrote:
>> On 12/4/06, Linus Torvalds <torvalds@osdl.org> wrote:
>>>
>>> So yeah, it's a bit hacky, but for the reasons I've tried to outline, I
>>> actually think that users _want_ hacky. Exactly because "deep
>>> integration"
>>> ends up having so many _bad_ features, so it's better to have a thin and
>>> simple layer that you can actually see past if you want to.
>>
>> Thin and simple sounds very good. Let's try it with an example. Lets
>> say we have one apllication App1 and three librarys (Lib1, Lib2, Lib3)
>> with the following dependency-graph:
>>
>> App1
>> / \
>> / \
>> Lib1 Lib2
>> \ /
>> \ /
>> Lib3 (don't really needed for this example but looks nice)
>>
>> All components can be used individually and have their own upstream,
>> maintainer etc.
>>
>> To compile App1 however, I need some files from both Lib1 and Lib2
>> specifying it's API. To satisfy these dependencies, It sounds
>> reasonable to link Lib2 and Lib3 submodules from App1. In your
>> concept, can I construct a modules file to fetch the API files and
>> their history without checking out the whole Lib1 and Lib2 source?
>
> I think not. Then it wouldn't be a submodule anymore, but just some
> random sources from an upstream project. Not that it's an uncommon
> workflow or anything, but it's sort of akin to just importing the SHA1
> implementation (a few source-files with no real interest in the history
> of those source-files) from openssl into a different project rather than
> actually using the entire openssl lib (which would be nice to have as a
> submodule).
Note that this is what partial checkouts (another great idea nobody
implemented yet[*1*]; you can do partial checkout but there is no UI for
this, and working with partial checkouts is bit hard) is about, although it
would buy you only working area space, and not repository (object database
storage) space.
For now, you can imitate this by having in in Lib1 and Lib2 the 'includes'
branch which would contain only the API (and which you would have to keep
up to date with 'master', but it should be fairly easy: just merge changes
into 'includes', perhaps with help of git-rerere, or [nonexisting]
git-rerere2).
[*1*] Although with our track[*2*] I guess it is reasonable to think it
would get implemented soon.
[*2*] Out of four "great ideas": shallow clone / sparse clone, submodules
support, lazy clone / remote alternates, two are in example-implementation
(submodules support) and beta work (shallow clone is in 'next').
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
next prev parent reply other threads:[~2006-12-05 11:07 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
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 [this message]
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='el3jsh$i62$1@sea.gmane.org' \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
/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).