git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Brian J. Davis" <bitminer@gmail.com>
To: Stefan Beller <sbeller@google.com>
Cc: Brandon Williams <bmwill@google.com>,
	"git@vger.kernel.org" <git@vger.kernel.org>,
	David Turner <novalis@novalis.org>
Subject: Re: submodule network operations [WAS: Re: [RFC/PATCH 0/4] working tree operations: support superprefix]
Date: Sat, 21 Jan 2017 09:53:59 -0600	[thread overview]
Message-ID: <04fe8035-dbf0-83d2-c465-f746b99ce609@gmail.com> (raw)
In-Reply-To: <CAGZ79kaS7zt3DKrRuqzzODc1HHEP-xd-8HBC0JA-HvmqAJOZfw@mail.gmail.com>


On 1/19/2017 7:22 PM, Stefan Beller wrote:
>>> Between the init and the update step you can modify the URLs.
>>> These commands are just a repetition from the first email, but the
>>> git commands can be viewed as moving from one state to another
>>> for submodules; submodules itself can be seen as a state machine
>>> according to that proposed documentation. Maybe such a state machine
>>> makes it easier to understand for some people.
>>
>> "Between the init and the update step you can modify the URLs."  Yes I can
>> and have to... wish it was not this way.
> So how would yo u rather want to do it?
> look at the .gitmodules file beforehand and then run a "submodule update" ?
> Or a thing like
>
>      git -c url.https://internal.insteadOf git://github.com/ \
>          -c submodule.record-rewritten-urls submodule update
>
> (no need for init there as theoretically there is not
> need for such an intermediate step)
>
"Yes please and thank you" ... both.

My thought was to simply allow addition to .gitmodules.  If I understand 
correctly you are proposing, to override these at the command line and 
possibly rewrite them on submodule update, but maybe not save or add to 
.gitmodules. I would then propose both.
1) allow user to add to .gitmodules for those who do not care that 
"outsiders" know the internal dev server
and
2) allow to rewrite while not saving to .gitmodules on fresh clone and 
submodule update for thoes that do not want ousiders to known internal 
dev server.
and possibly:
3) allow at command line to add remote to .gitmodules on submodule 
commands (note add optoin in -c <name> = <value> pair)

.gitmodules before:

[submodule "subprojects/wrangler"]
         path = subprojects/wrangler
         url = git://github.com/

Then your adapted command:

git -c url.https://internal.insteadOf git://github.com/ \
         -c submodule.record-rewritten-urls=add,internal --add submodule update

would produce

[submodule "subprojects/projname"]
         path = subprojects/projname
         remote.origin.url = git://github.com/
         remote.internal.url =https://internal.insteadOf

Or similar support.

>>> [remote "origin"]
>>>     url = https://github.com/..
>>> [remote "inhouse"]
>>>     url = https://inhouse.corp/..
>>>
>>> But where do we clone it from?
>>> (Or do we just do a "git init" on that submodule and fetch
>>> from both remotes? in which order?)
>> origin by default and inhouse if specified. There is already a implied
>> default (origin). The idea was not to do both but rather what is specified.
>> Origin and inhouse are just names for remotes. If one wanted a
>> "--all-remotes" could pull from everywhere in the Ether if feature was to be
>> implemented.
> How is origin implied to be the default?
> Should there be an order (e.g. if you cannot find it at inhouse get it
> from github,
> if they are down, get it from kernel.org)
As it is in the Highlander series... "there can be only one" (remote).   
So that is what I mean by origin.  The only remote allowed is the 
"origin" unless changed by the user... but there can still only be one 
*currently*. Though I see your point as it is not labeled "origin".  It 
is not labeled at all.  Apologies for confusion there.





  reply	other threads:[~2017-01-21 15:47 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-13 18:30 submodule network operations [WAS: Re: [RFC/PATCH 0/4] working tree operations: support superprefix] Stefan Beller
2017-01-15 21:02 ` Brian J. Davis
2017-01-17 18:43   ` Stefan Beller
2017-01-19 23:11     ` Brian J. Davis
2017-01-20  1:22       ` Stefan Beller
2017-01-21 15:53         ` Brian J. Davis [this message]
2017-01-24 18:49           ` Stefan Beller
2017-01-25  7:14             ` Brian J. Davis

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=04fe8035-dbf0-83d2-c465-f746b99ce609@gmail.com \
    --to=bitminer@gmail.com \
    --cc=bmwill@google.com \
    --cc=git@vger.kernel.org \
    --cc=novalis@novalis.org \
    --cc=sbeller@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).