Re: [PATCH 1/2] submodule add: extend force flag to add existing repos

4 messages, 3 authors, 2016-10-11 · open the first message on its own page

Re: [PATCH 1/2] submodule add: extend force flag to add existing repos

From: Junio C Hamano <hidden>
Date: 2016-10-06 20:11:29

Stefan Beller [off-list ref] writes:
Currently the force flag in `git submodule add` takes care of possibly
ignored files or when a name collision occurs.

However there is another situation where submodule add comes in handy:
When you already have a gitlink recorded, but no configuration was
done (i.e. no .gitmodules file nor any entry in .git/config) and you
want to generate these config entries. For this situation allow
`git submodule add` to proceed if there is already a submodule at the
given path in the index.

Signed-off-by: Stefan Beller <redacted>
---
Yup, the goal makes perfect sense.  

I vaguely recall discussing this exact issue of "git submodule add"
that refuses to add a path that already is a gitlink (via "git add"
that has previously been run) elsewhere on this list some time ago.

Re: [PATCH 1/2] submodule add: extend force flag to add existing repos

From: Heiko Voigt <hidden>
Date: 2016-10-07 12:52:51

On Thu, Oct 06, 2016 at 01:11:20PM -0700, Junio C Hamano wrote:
Stefan Beller [off-list ref] writes:
quoted
Currently the force flag in `git submodule add` takes care of possibly
ignored files or when a name collision occurs.

However there is another situation where submodule add comes in handy:
When you already have a gitlink recorded, but no configuration was
done (i.e. no .gitmodules file nor any entry in .git/config) and you
want to generate these config entries. For this situation allow
`git submodule add` to proceed if there is already a submodule at the
given path in the index.
Is it important that the submodule is in the index? How about worktree?
From the index entry alone we can not deduce the values anyway. So I
would say the submodule has to be in the worktree, no matter what is in
the index. If its not in the index we can also add it.

BTW, that is the way I imagined submodules would work in the first
place: just clone and add them, like I described here[1].
quoted
Signed-off-by: Stefan Beller <redacted>
---
Yup, the goal makes perfect sense.  

I vaguely recall discussing this exact issue of "git submodule add"
that refuses to add a path that already is a gitlink (via "git add"
that has previously been run) elsewhere on this list some time ago.
Yes there was a discussion, see the link.

Cheers Heiko

[1] http://public-inbox.org/git/%3C20160916141143.GA47240@book.hvoigt.net%3E/

Re: [PATCH 1/2] submodule add: extend force flag to add existing repos

From: Stefan Beller <hidden>
Date: 2016-10-07 17:26:26

On Fri, Oct 7, 2016 at 5:52 AM, Heiko Voigt [off-list ref] wrote:
On Thu, Oct 06, 2016 at 01:11:20PM -0700, Junio C Hamano wrote:
quoted
Stefan Beller [off-list ref] writes:
quoted
Currently the force flag in `git submodule add` takes care of possibly
ignored files or when a name collision occurs.

However there is another situation where submodule add comes in handy:
When you already have a gitlink recorded, but no configuration was
done (i.e. no .gitmodules file nor any entry in .git/config) and you
want to generate these config entries. For this situation allow
`git submodule add` to proceed if there is already a submodule at the
given path in the index.
Is it important that the submodule is in the index?
If it is not in the index, it already works.
How about worktree?
From the index entry alone we can not deduce the values anyway.
Right, but as of now this is the only show stopper, i.e.
* you have an existing repo? -> fine, it works with --force
* you even ignored that repo -> --force knows how to do it.
* you already have a gitlink -> Sorry, you're out of luck.

So that is why I stressed index in this commit message, as it is only about this
case.
[1] http://public-inbox.org/git/%3C20160916141143.GA47240@book.hvoigt.net%3E/
Current situation:
clone the submodule into a directory
git submodule add --force
git commit everything
works fine, but:
clone the submodule into a directory
git add <gitlink>
git commit <gitlink> -m "Add submodule"
# me: "Oh crap! I did forget the configuration."
git submodule add --force <url> <gitlink>
# Git: "It already exists in the index, I am not going to produce the config for you."
The last step is changed with this patch, as
it will just work fine then.

Re: [PATCH 1/2] submodule add: extend force flag to add existing repos

From: Heiko Voigt <hidden>
Date: 2016-10-11 16:38:13

Hi,

On Fri, Oct 07, 2016 at 10:25:04AM -0700, Stefan Beller wrote:
On Fri, Oct 7, 2016 at 5:52 AM, Heiko Voigt [off-list ref] wrote:
quoted
On Thu, Oct 06, 2016 at 01:11:20PM -0700, Junio C Hamano wrote:
quoted
Stefan Beller [off-list ref] writes:
quoted
Currently the force flag in `git submodule add` takes care of possibly
ignored files or when a name collision occurs.

However there is another situation where submodule add comes in handy:
When you already have a gitlink recorded, but no configuration was
done (i.e. no .gitmodules file nor any entry in .git/config) and you
want to generate these config entries. For this situation allow
`git submodule add` to proceed if there is already a submodule at the
given path in the index.
Is it important that the submodule is in the index?
If it is not in the index, it already works.
Ah ok I was not aware of that, sorry.
quoted
How about worktree?
From the index entry alone we can not deduce the values anyway.
Right, but as of now this is the only show stopper, i.e.
* you have an existing repo? -> fine, it works with --force
* you even ignored that repo -> --force knows how to do it.
* you already have a gitlink -> Sorry, you're out of luck.

So that is why I stressed index in this commit message, as it is only about this
case.
Forget what I wrote. As said above I was not aware that there is only an
error when it is already in the index.
quoted
[1] http://public-inbox.org/git/%3C20160916141143.GA47240@book.hvoigt.net%3E/
Current situation:
quoted
clone the submodule into a directory
git submodule add --force
git commit everything
works fine, but:
quoted
clone the submodule into a directory
git add <gitlink>
git commit <gitlink> -m "Add submodule"
# me: "Oh crap! I did forget the configuration."
git submodule add --force <url> <gitlink>
# Git: "It already exists in the index, I am not going to produce the config for you."
The last step is changed with this patch, as
it will just work fine then.
Thanks.

Cheers Heiko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help