All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jens Lehmann <Jens.Lehmann@web.de>
Cc: henri GEIST <henri.geist@flying-robots.com>,
	Heiko Voigt <hvoigt@hvoigt.net>,
	Alexei Sholik <alcosholik@gmail.com>,
	git@vger.kernel.org, Sverre Rabbelier <srabbelier@gmail.com>
Subject: Re: tracking submodules out of main directory.
Date: Wed, 03 Aug 2011 12:41:24 -0700	[thread overview]
Message-ID: <7vaabqb7vf.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <4E399C62.30604@web.de> (Jens Lehmann's message of "Wed, 03 Aug 2011 21:07:14 +0200")

Jens Lehmann <Jens.Lehmann@web.de> writes:

> 1) To use me, you need another submodule "foo"
>
>    This is very helpful when you want to add the Gimp submodule and it
>    can tell you you'll need the libpng submodule too in your superproject
>    (but I'd vote to use the submodule name here, not the path as that
>    should be the superproject's decision).

That is something you can add to .gitmodules in the superproject, no?
E.g.

	[submodule "Gimp"]
        	url = http://some/where/
		path = gimp/
        	depends = version 1.2.3 of "Glib"

	[submodule "Glib"]
        	url = http://some/where/else/
		path = libs/glib

> In addition to that, it can (but mustn't) specify any of the following:

I am guessing you meant "does not have to", instead of mustn't, here...

> a) Of this submodule "foo" I need at least that version because I won't
>    compile/work with older versions of that. (this can be tightened to
>    "exactly that version" to give henri the behavior he wants, but that
>    should be policy, not mandatory)

The "loose collection of projects" approach like that has its uses, and it
is called "repo". Why re-invent it? The behaviour Henri wants to specify
the exact version is how git submodules work already, so I do not see
there is anything to be done here.

> b) And if you don't know where to get it, use this url

Again that is the job of .gitmodules in the superproject.

> That is all stuff the submodule knows better than the superproject.

Not necessarily. The version A0 of submodule A may depend on submodule B
and may also know it must have at least version B0 of that submodule, but
the superproject would know other constraints, e.g. the superproject
itself also calls into submodule B and wants a newer version B1 of it.

  reply	other threads:[~2011-08-03 19:41 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-27 13:07 tracking submodules out of main directory henri GEIST
2011-06-27 16:51 ` Junio C Hamano
2011-06-27 18:14   ` Jens Lehmann
2011-06-27 18:52     ` henri GEIST
2011-06-27 18:56       ` Jens Lehmann
2011-06-27 21:18         ` henri GEIST
2011-06-27 19:05     ` Junio C Hamano
2011-06-27 19:40       ` Jens Lehmann
2011-06-27 21:57         ` henri GEIST
2011-06-28  7:25           ` Jens Lehmann
2011-06-28 11:55             ` henri GEIST
2011-06-27 21:51       ` henri GEIST
2011-06-28  7:20         ` Jens Lehmann
2011-06-28  7:37           ` Jens Lehmann
2011-06-28 11:52           ` henri GEIST
2011-06-28 10:05       ` Alexei Sholik
2011-06-28 17:00         ` Jens Lehmann
2011-07-27 18:49           ` henri GEIST
2011-07-28  8:57             ` henri GEIST
2011-07-28 16:48               ` Jens Lehmann
2011-07-29  9:39                 ` henri GEIST
2011-07-30 14:16                   ` Jens Lehmann
2011-07-30 21:55                     ` henri GEIST
2011-08-01 19:39                       ` Jens Lehmann
2011-08-02 12:19                         ` henri GEIST
2011-08-02 18:42                           ` Jens Lehmann
2011-08-03  6:25                             ` Heiko Voigt
2011-08-03 12:26                               ` henri GEIST
2011-08-03 17:11                                 ` Junio C Hamano
2011-08-03 19:07                                   ` Jens Lehmann
2011-08-03 19:41                                     ` Junio C Hamano [this message]
2011-08-03 21:30                                       ` Jens Lehmann
2011-08-03 22:29                                         ` henri GEIST
2011-08-04 17:45                                           ` Jens Lehmann
2011-08-05  0:29                                             ` henri GEIST
2011-08-04 20:05                                           ` Heiko Voigt
2011-08-05  2:19                                             ` henri GEIST
2011-08-03 21:45                                     ` Heiko Voigt
2011-08-03 22:41                                       ` henri GEIST
2011-08-03 21:49                                     ` henri GEIST
2011-08-03 21:04                                   ` henri GEIST
2011-08-01 22:12                   ` Heiko Voigt
2011-08-02 12:58                     ` henri GEIST
     [not found]                       ` <CAJsNXT=93FHjbi42JKA3Pg7PGXs0kEONJ5AC5SSPpa5RSVqB=A@mail.gmail.com>
2011-08-03  9:07                         ` henri GEIST
2011-06-27 18:40   ` henri GEIST
2011-06-27 19:02     ` Jens Lehmann
2011-06-27 21:45       ` henri GEIST

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=7vaabqb7vf.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=Jens.Lehmann@web.de \
    --cc=alcosholik@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=henri.geist@flying-robots.com \
    --cc=hvoigt@hvoigt.net \
    --cc=srabbelier@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.