All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Stefan Beller <sbeller@google.com>
Cc: Yaroslav Halchenko <yoh@onerussian.com>,
	"git\@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: [wishlist?] make submodule commands robust to having non-submodule Subprojects
Date: Thu, 15 Sep 2016 11:27:54 -0700	[thread overview]
Message-ID: <xmqqsht1nhlh.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <CAGZ79kbYEqbr0h_0U=Ed-NRrsjb4XmznL8C45gTyJCVx+X-LTQ@mail.gmail.com> (Stefan Beller's message of "Thu, 15 Sep 2016 11:15:16 -0700")

Stefan Beller <sbeller@google.com> writes:

>     When searching around the net, some people use half
>     initialized submodules intentionally,...
>
> Not sure I agree with such a setup, but people use it.

In such a top-level project, people would not use "git submodule"
command, would they?  I do not think anybody in this thread was
pushing to forbid such a use, and it may be perfectly fine if "git
submodule" does not work for such a gitlink; after all such a
subdirectory is not even meant to be a submodule.

> So how about this fictional work flow:
>
>          $ git init top
>          $ cd top
>          $ git commit --allow-empty -m 'initial in top'
>          $ git init sub
>          $ git -C sub commit --allow-empty -m 'initial in sub'
>          $ git add sub
>         You added a gitlink, but no corresponding entry in
>         .gitmodules is found. This is fine for gits core functionality, but
>         the submodule command gets confused by this unless you add 'sub'
>         to your .gitmodules via `git submodule add --already-in-tree \
>         --reuse-submodules-origin-as-URL sub`. Alternatively you can make this
>         message disappear by configuring advice.gitlinkPitfalls.

I am not sure if I agree with that direction.

If the trend in Git community collectively these days is to make
usage of submodules easier and smoother, I'd imagine that you would
want to teach "git add" that was given a submodule to "git submodule
add" instead by default, with an option "git add --no-gitmodules
sub" to disable it, or something like that.

>          $ git submodule add --fixup-modules-file ./sub sub
>          Adding .gitmodule entry only for `sub` to use `git -C remote
> show origin` as URL.

I agree that a feature like this is needed regardless of what
happens at "git add" time.

  reply	other threads:[~2016-09-15 18:28 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-15 13:02 [wishlist?] make submodule commands robust to having non-submodule Subprojects Yaroslav Halchenko
2016-09-15 16:05 ` Stefan Beller
2016-09-15 16:40   ` Yaroslav Halchenko
2016-09-15 17:29     ` Stefan Beller
2016-09-15 18:02   ` Junio C Hamano
2016-09-15 18:12     ` Yaroslav Halchenko
2016-09-15 18:16       ` Stefan Beller
2016-09-15 18:29       ` Junio C Hamano
2016-09-15 18:15     ` Stefan Beller
2016-09-15 18:27       ` Junio C Hamano [this message]
2016-09-16 14:11         ` Heiko Voigt
2016-09-16 15:40           ` Jacob Keller
2016-09-16 18:28           ` Junio C Hamano

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=xmqqsht1nhlh.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=sbeller@google.com \
    --cc=yoh@onerussian.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.