* submodule update and core.askpass
@ 2013-11-16 21:24 Dmitry Neverov
2013-11-16 21:42 ` Thomas Rast
0 siblings, 1 reply; 4+ messages in thread
From: Dmitry Neverov @ 2013-11-16 21:24 UTC (permalink / raw)
To: git
Hi,
it seems like "git submodule update" command doesn't respect the
core.askpass option specified in a command line. I have a repository
with a submodule, I serve it over http which requires an authorization
and both main repository and submodule require the same credentials. I
run the following commands (pass.sh is a script which prints a password
to stdout):
git -c core.askpass=pass.sh clone main-repo
cd main-repo
git submodule init
git submodule sync
git -c core.askpass=pass.sh submodule update
The last command asks for a password interactively.
I've run bisect, it seems like it started failing from commit
be8779f7ac9a3be9aa783df008d59082f4054f67. I've checked: submodule update
works fine in 1.8.5.rc2 with removed call to clear_local_git_env.
Is there any way to make git submodule update respect core.askpass
option, so one can use it in scripts?
--
Dmitry Neverov
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: submodule update and core.askpass
2013-11-16 21:24 submodule update and core.askpass Dmitry Neverov
@ 2013-11-16 21:42 ` Thomas Rast
2013-11-16 22:39 ` Jens Lehmann
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Rast @ 2013-11-16 21:42 UTC (permalink / raw)
To: Dmitry Neverov; +Cc: git, Daniel Graña, Jens Lehmann
+cc Daniel and Jens
Dmitry Neverov <dmitry.neverov@jetbrains.com> writes:
> git -c core.askpass=pass.sh clone main-repo
> cd main-repo
> git submodule init
> git submodule sync
> git -c core.askpass=pass.sh submodule update
>
> The last command asks for a password interactively.
>
> I've run bisect, it seems like it started failing from commit
> be8779f7ac9a3be9aa783df008d59082f4054f67. I've checked: submodule update
> works fine in 1.8.5.rc2 with removed call to clear_local_git_env.
Aside from GIT_CONFIG_PARAMETERS, which this needs, I wonder if we
should also let other variables pass through. For example, if the user
went out of their way to set GIT_ALTERNATE_OBJECT_DIRECTORIES, shouldn't
we also respect that?
The list of variables that is unset by clear_local_git_env is $(git
rev-parse --local-env-vars), currently
GIT_ALTERNATE_OBJECT_DIRECTORIES
GIT_CONFIG
GIT_CONFIG_PARAMETERS
GIT_OBJECT_DIRECTORY
GIT_DIR
GIT_WORK_TREE
GIT_IMPLICIT_WORK_TREE
GIT_GRAFT_FILE
GIT_INDEX_FILE
GIT_NO_REPLACE_OBJECTS
GIT_PREFIX
--
Thomas Rast
tr@thomasrast.ch
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: submodule update and core.askpass
2013-11-16 21:42 ` Thomas Rast
@ 2013-11-16 22:39 ` Jens Lehmann
2013-11-22 12:33 ` Dmitry Neverov
0 siblings, 1 reply; 4+ messages in thread
From: Jens Lehmann @ 2013-11-16 22:39 UTC (permalink / raw)
To: Thomas Rast, Dmitry Neverov; +Cc: git, Daniel Graña
Am 16.11.2013 22:42, schrieb Thomas Rast:
> Dmitry Neverov <dmitry.neverov@jetbrains.com> writes:
>
>> git -c core.askpass=pass.sh clone main-repo
>> cd main-repo
>> git submodule init
>> git submodule sync
>> git -c core.askpass=pass.sh submodule update
>>
>> The last command asks for a password interactively.
>>
>> I've run bisect, it seems like it started failing from commit
>> be8779f7ac9a3be9aa783df008d59082f4054f67. I've checked: submodule update
>> works fine in 1.8.5.rc2 with removed call to clear_local_git_env.
>
> Aside from GIT_CONFIG_PARAMETERS, which this needs ...
Yes, if I understand GIT_CONFIG_PARAMETERS correctly we should not
clean it as the user explicitly asked us to use that setting.
> ..., I wonder if we
> should also let other variables pass through. For example, if the user
> went out of their way to set GIT_ALTERNATE_OBJECT_DIRECTORIES, shouldn't
> we also respect that?
Hmm, I'm not so sure. Does the user really want the setting of
GIT_ALTERNATE_OBJECT_DIRECTORIES to be honored inside the submodule
too or would he want a different setting (including none)? I suspect
different users would give different answers. And wouldn't a working
GIT_CONFIG_PARAMETERS (or configuring the submodule after the initial
clone) be the solution for that?
> The list of variables that is unset by clear_local_git_env is $(git
> rev-parse --local-env-vars), currently
>
> GIT_ALTERNATE_OBJECT_DIRECTORIES
> GIT_CONFIG
> GIT_CONFIG_PARAMETERS
> GIT_OBJECT_DIRECTORY
> GIT_DIR
> GIT_WORK_TREE
> GIT_IMPLICIT_WORK_TREE
> GIT_GRAFT_FILE
> GIT_INDEX_FILE
> GIT_NO_REPLACE_OBJECTS
> GIT_PREFIX
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: submodule update and core.askpass
2013-11-16 22:39 ` Jens Lehmann
@ 2013-11-22 12:33 ` Dmitry Neverov
0 siblings, 0 replies; 4+ messages in thread
From: Dmitry Neverov @ 2013-11-22 12:33 UTC (permalink / raw)
To: Jens Lehmann, Thomas Rast; +Cc: git, Daniel Graña
BTW, a workaround is to pass a path to askpass script in the GIT_ASKPASS
environment variable.
Jens Lehmann <Jens.Lehmann@web.de> writes:
> Am 16.11.2013 22:42, schrieb Thomas Rast:
>> Dmitry Neverov <dmitry.neverov@jetbrains.com> writes:
>>
>>> git -c core.askpass=pass.sh clone main-repo
>>> cd main-repo
>>> git submodule init
>>> git submodule sync
>>> git -c core.askpass=pass.sh submodule update
>>>
>>> The last command asks for a password interactively.
>>>
>>> I've run bisect, it seems like it started failing from commit
>>> be8779f7ac9a3be9aa783df008d59082f4054f67. I've checked: submodule update
>>> works fine in 1.8.5.rc2 with removed call to clear_local_git_env.
>>
>> Aside from GIT_CONFIG_PARAMETERS, which this needs ...
>
> Yes, if I understand GIT_CONFIG_PARAMETERS correctly we should not
> clean it as the user explicitly asked us to use that setting.
>
>> ..., I wonder if we
>> should also let other variables pass through. For example, if the user
>> went out of their way to set GIT_ALTERNATE_OBJECT_DIRECTORIES, shouldn't
>> we also respect that?
>
> Hmm, I'm not so sure. Does the user really want the setting of
> GIT_ALTERNATE_OBJECT_DIRECTORIES to be honored inside the submodule
> too or would he want a different setting (including none)? I suspect
> different users would give different answers. And wouldn't a working
> GIT_CONFIG_PARAMETERS (or configuring the submodule after the initial
> clone) be the solution for that?
>
>> The list of variables that is unset by clear_local_git_env is $(git
>> rev-parse --local-env-vars), currently
>>
>> GIT_ALTERNATE_OBJECT_DIRECTORIES
>> GIT_CONFIG
>> GIT_CONFIG_PARAMETERS
>> GIT_OBJECT_DIRECTORY
>> GIT_DIR
>> GIT_WORK_TREE
>> GIT_IMPLICIT_WORK_TREE
>> GIT_GRAFT_FILE
>> GIT_INDEX_FILE
>> GIT_NO_REPLACE_OBJECTS
>> GIT_PREFIX
>
>
--
Dmitry Neverov
JetBrains
http://www.jetbrains.com
"Develop with pleasure!"
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-11-22 12:33 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-16 21:24 submodule update and core.askpass Dmitry Neverov
2013-11-16 21:42 ` Thomas Rast
2013-11-16 22:39 ` Jens Lehmann
2013-11-22 12:33 ` Dmitry Neverov
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).