All of lore.kernel.org
 help / color / mirror / Atom feed
From: henri GEIST <henri.geist@flying-robots.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Heiko Voigt <hvoigt@hvoigt.net>,
	Jens Lehmann <Jens.Lehmann@web.de>,
	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 23:04:40 +0200	[thread overview]
Message-ID: <1312405480.3261.957.camel@Naugrim.eriador.com> (raw)
In-Reply-To: <7v8vractdw.fsf@alter.siamese.dyndns.org>

Le mercredi 03 août 2011 à 10:11 -0700, Junio C Hamano a écrit :
> henri GEIST <henri.geist@flying-robots.com> writes:
> 
> > I plan to use a config file containing lines like
> >
> > "path_to_poited_repo   SHA1_of_intended_commit   URL_of_origin"
> >
> > the URL part will not be required.
> >
> > this file will be a list of pointer to other project.
> 
> I wasn't paying attention to this thread, but I have to ask "why" here.
> 
> The first two are what gitlink was designed to do in the superproject that
> ties multiple submodules together, and the last one is also supplied by
> the .gitmodules in that superproject.

Yes my only problem is that it is forbidden to put a submodule outside
of the repository.
That is way I had done a patch witch enable me to do so and I use it
flawlessly every day. with total satisfaction.

> This seems to be adding the same information in a redundant way by saying
> "this version A0 of submodule A wants version B0 of submodule B and
> version C0 of submodule C" when the supermodule can say "the consistent
> view I record is to have version A0, B0 and C0 of submodules A, B and C,
> respectively".
> 

Exact but my goal is to get ride of the superproject.
This is how I will remove the redondency.
Cause creating a projet just to said to other project what they need is
a wast. Each project has to now by itself what it need.

And each user will have his own list of project to work on.
Then they we will create one different superproject for each user.

One user can work on a superproject containing :
gimp, gqview, libpng

One other will work on a superproject containing :
gimp, gphoto, libpng, libusb

The next one will work on a superproject containing :
xsane, libusb

They can absolutely not share there superproject only the normal
projects.
And if the dependency are defined in superproject, and not in the
projects themselves. Users can not share their dependency constructs.

I have no intend to have "sub"modules but to have generic modules with
no hierarchies only dependence relations. Which could even be crossed.
(Module A require module B and module B require module A.)
Even if in this particular case I do not see the point to make two
distinct modules.


> I also suspect that allowing each submodule to know and demand specific
> versions of other submodules will lead to inconsistencies. Which version
> of submodule C would you demand to have when submodule A wants version C0
> and submodule B wants version C1 of it?
> 

That is already the case with normal submodules.
And of corse if you have a project which recursively depend of to
version of the same library, you need to update it, and it has nothing
to do with git. Git will just make it obvious.


The reason we decide to make a parallel file ".gitdependencies",
containing something really similar to the content of ".gitmodules"
is that in .gitdependencies we will put references outside of repository
and in ".gitmodules" the references inside git repository as actual.

This separation will be done because Jens Lehmann show us
that .gitmodules are lot more that what I expected from those reference
and do not think that the others abilities of submodules should apply to
external modules.

	Henri

  parent reply	other threads:[~2011-08-03 21:01 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
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 [this message]
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=1312405480.3261.957.camel@Naugrim.eriador.com \
    --to=henri.geist@flying-robots.com \
    --cc=Jens.Lehmann@web.de \
    --cc=alcosholik@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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.