Re: [RFC PATCH 2/4] change submodule push test to use proper repository setup
- Date: Wed, 11 Oct 2017 16:56:57 +0200
- From: Heiko Voigt <hvoigt@xxxxxxxxxx>
- Subject: Re: [RFC PATCH 2/4] change submodule push test to use proper repository setup
On Wed, Oct 11, 2017 at 08:31:37AM +0900, Junio C Hamano wrote:
> Stefan Beller <sbeller@xxxxxxxxxx> writes:
> > So you propose to make git-add behave like "git submodule add"
> > (i.e. also add the .gitmodules entry for name/path/URL), which I
> > like from a submodule perspective.
> > However other users of gitlinks might be confused, which is why
> > I refrained from "making every gitlink into a submodule". Specifically
> > the more powerful a submodule operation is (the more fluff adds),
> > the harder it should be for people to mis-use it.
> A few questions that come to mind are:
> - Does "git add sub/" have enough information to populate
> .gitmodules? If we have reasonable "default" values for
> .gitmodules entries (e.g. missing URL means we won't fetch when
> asked to go recursively fetch), perhaps we can leave everything
> other than "submodule.$name.path" undefined.
My suggestion would be: If we do not have them we do not populate them.
We could even go further and say: If we do not have the set "git
submodule add" would populate then we do not add anything to .gitmodules
and warn the user.
> - Can't we help those who have gitlinks without .gitmodules entries
> exactly the same way as above, i.e. when we see a gitlink and try
> to treat it as a submodule, we'd first try to look it up from
> .gitmodules (by going from path to name and then to
> submodule.$name.$var); the above "'git add sub/' would add an
> entry for .gitmodules" wish is based on the assumption that there
> are reasonable "default" values for each of these $var--so by
> basing on the same assumption, we can "pretend" as if these
> submodule.$name.$var were in .gitmodules file when we see
> gitlinks without .gitmodules entries. IOW, if "git add sub/" can
> add .gitmodules to help people without having to type "git
> submodule add sub/", then we can give exactly the same degree of
> help without even modifying .gitmodules when "git add sub/" is
This "default" value thing got me thinking in a different direction. We
could use a scheme like that to get names (and values) for submodules
that are missing from the .gitmodules file. If we decide that we need to