Git Mailing List Archive mirror
 help / color / mirror / Atom feed
* [PATCH] documentation: update git-submodule documentation
@ 2022-11-03 10:26 James via GitGitGadget
  2022-11-03 12:14 ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 3+ messages in thread
From: James via GitGitGadget @ 2022-11-03 10:26 UTC (permalink / raw)
  To: git; +Cc: James, James

From: James <jdm12989@gmail.com>

Removes reference to custom code execution which is called out by
gitmodules as not allowed.

Signed-off-by: James <jdm12989@gmail.com>
---
    Update git-submodule.txt
    
    Remove info about custom commands being allowed in the submodule update
    command to align with the gitmodules docs which states "For security
    reasons, the !command form is not accepted here."

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1401%2FEnochPrime%2Fsubmodule-docs-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1401/EnochPrime/submodule-docs-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1401

 Documentation/git-submodule.txt | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
index 4d3ab6b9f92..b40ac72f753 100644
--- a/Documentation/git-submodule.txt
+++ b/Documentation/git-submodule.txt
@@ -163,12 +163,6 @@ checked out in the submodule.
 The following 'update' procedures are only available via the
 `submodule.<name>.update` configuration variable:
 
-	custom command;; arbitrary shell command that takes a single
-	    argument (the sha1 of the commit recorded in the
-	    superproject) is executed. When `submodule.<name>.update`
-	    is set to '!command', the remainder after the exclamation mark
-	    is the custom command.
-
 	none;; the submodule is not updated.
 
 If the submodule is not yet initialized, and you just want to use the

base-commit: c03801e19cb8ab36e9c0d17ff3d5e0c3b0f24193
-- 
gitgitgadget

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] documentation: update git-submodule documentation
  2022-11-03 10:26 [PATCH] documentation: update git-submodule documentation James via GitGitGadget
@ 2022-11-03 12:14 ` Ævar Arnfjörð Bjarmason
  2022-11-04 11:25   ` James McCandlish
  0 siblings, 1 reply; 3+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-11-03 12:14 UTC (permalink / raw)
  To: James via GitGitGadget; +Cc: git, James


On Thu, Nov 03 2022, James via GitGitGadget wrote:

> From: James <jdm12989@gmail.com>
>
> Removes reference to custom code execution which is called out by
> gitmodules as not allowed.
>
> Signed-off-by: James <jdm12989@gmail.com>
> ---
>     Update git-submodule.txt
>     
>     Remove info about custom commands being allowed in the submodule update
>     command to align with the gitmodules docs which states "For security
>     reasons, the !command form is not accepted here."
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1401%2FEnochPrime%2Fsubmodule-docs-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1401/EnochPrime/submodule-docs-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1401
>
>  Documentation/git-submodule.txt | 6 ------
>  1 file changed, 6 deletions(-)
>
> diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
> index 4d3ab6b9f92..b40ac72f753 100644
> --- a/Documentation/git-submodule.txt
> +++ b/Documentation/git-submodule.txt
> @@ -163,12 +163,6 @@ checked out in the submodule.
>  The following 'update' procedures are only available via the
>  `submodule.<name>.update` configuration variable:
>  
> -	custom command;; arbitrary shell command that takes a single
> -	    argument (the sha1 of the commit recorded in the
> -	    superproject) is executed. When `submodule.<name>.update`
> -	    is set to '!command', the remainder after the exclamation mark
> -	    is the custom command.
> -
>  	none;; the submodule is not updated.
>  
>  If the submodule is not yet initialized, and you just want to use the

Hrm?
	
	diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
	index a7683d35299..80e897d5f29 100644
	--- a/builtin/submodule--helper.c
	+++ b/builtin/submodule--helper.c
	@@ -2247,6 +2247,7 @@ static int run_update_command(const struct update_data *ud, int subforce)
	 	case SM_UPDATE_COMMAND:
	 		cp.use_shell = 1;
	 		strvec_push(&cp.args, ud->update_strategy.command);
	+		BUG("unused??");
	 		break;
	 	default:
	 		BUG("unexpected update strategy type: %d",
	
Will show you that this is used, i.e. this failure in
t7406-submodule-update.sh:
	
	[...]
	+ cd super
	+ git config submodule.submodule.update !git checkout
	+ cd super/submodule
	+ git reset --hard HEAD^
	HEAD is now at 0c90624 upstream
	+ cd super
	+ cd submodule
	+ compare_head
	+ git rev-list --max-count=1 main
	+ sha_main=0c90624ab7f1aaa301d3bb79f60dcfed1ec4897f
	+ git rev-list --max-count=1 HEAD
	+ sha_head=0c90624ab7f1aaa301d3bb79f60dcfed1ec4897f
	+ test 0c90624ab7f1aaa301d3bb79f60dcfed1ec4897f = 0c90624ab7f1aaa301d3bb79f60dcfed1ec4897f
	+ git submodule update submodule
	BUG: builtin/submodule--helper.c:2250: unused??
	Aborted

I think what you may be confused by is that this isn't allowed in the
in-tree .gitmodules file, and indeed you can see another BUG() in
determine_submodule_update_strategy() for a panic if we'd ever get as
far as reading "command" from there.

But that's not what this part of the docs dicsusses, as the paragraph
shown above the removed lines in the context notes.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] documentation: update git-submodule documentation
  2022-11-03 12:14 ` Ævar Arnfjörð Bjarmason
@ 2022-11-04 11:25   ` James McCandlish
  0 siblings, 0 replies; 3+ messages in thread
From: James McCandlish @ 2022-11-04 11:25 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason; +Cc: James via GitGitGadget, git

Sorry about the confusion. Just so I'm 100% clear: the
`submodule.<name>.update` referencing a gitconfig and not gitmodules?


On Thu, Nov 3, 2022 at 8:17 AM Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
>
>
> On Thu, Nov 03 2022, James via GitGitGadget wrote:
>
> > From: James <jdm12989@gmail.com>
> >
> > Removes reference to custom code execution which is called out by
> > gitmodules as not allowed.
> >
> > Signed-off-by: James <jdm12989@gmail.com>
> > ---
> >     Update git-submodule.txt
> >
> >     Remove info about custom commands being allowed in the submodule update
> >     command to align with the gitmodules docs which states "For security
> >     reasons, the !command form is not accepted here."
> >
> > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1401%2FEnochPrime%2Fsubmodule-docs-v1
> > Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1401/EnochPrime/submodule-docs-v1
> > Pull-Request: https://github.com/gitgitgadget/git/pull/1401
> >
> >  Documentation/git-submodule.txt | 6 ------
> >  1 file changed, 6 deletions(-)
> >
> > diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
> > index 4d3ab6b9f92..b40ac72f753 100644
> > --- a/Documentation/git-submodule.txt
> > +++ b/Documentation/git-submodule.txt
> > @@ -163,12 +163,6 @@ checked out in the submodule.
> >  The following 'update' procedures are only available via the
> >  `submodule.<name>.update` configuration variable:
> >
> > -     custom command;; arbitrary shell command that takes a single
> > -         argument (the sha1 of the commit recorded in the
> > -         superproject) is executed. When `submodule.<name>.update`
> > -         is set to '!command', the remainder after the exclamation mark
> > -         is the custom command.
> > -
> >       none;; the submodule is not updated.
> >
> >  If the submodule is not yet initialized, and you just want to use the
>
> Hrm?
>
>         diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
>         index a7683d35299..80e897d5f29 100644
>         --- a/builtin/submodule--helper.c
>         +++ b/builtin/submodule--helper.c
>         @@ -2247,6 +2247,7 @@ static int run_update_command(const struct update_data *ud, int subforce)
>                 case SM_UPDATE_COMMAND:
>                         cp.use_shell = 1;
>                         strvec_push(&cp.args, ud->update_strategy.command);
>         +               BUG("unused??");
>                         break;
>                 default:
>                         BUG("unexpected update strategy type: %d",
>
> Will show you that this is used, i.e. this failure in
> t7406-submodule-update.sh:
>
>         [...]
>         + cd super
>         + git config submodule.submodule.update !git checkout
>         + cd super/submodule
>         + git reset --hard HEAD^
>         HEAD is now at 0c90624 upstream
>         + cd super
>         + cd submodule
>         + compare_head
>         + git rev-list --max-count=1 main
>         + sha_main=0c90624ab7f1aaa301d3bb79f60dcfed1ec4897f
>         + git rev-list --max-count=1 HEAD
>         + sha_head=0c90624ab7f1aaa301d3bb79f60dcfed1ec4897f
>         + test 0c90624ab7f1aaa301d3bb79f60dcfed1ec4897f = 0c90624ab7f1aaa301d3bb79f60dcfed1ec4897f
>         + git submodule update submodule
>         BUG: builtin/submodule--helper.c:2250: unused??
>         Aborted
>
> I think what you may be confused by is that this isn't allowed in the
> in-tree .gitmodules file, and indeed you can see another BUG() in
> determine_submodule_update_strategy() for a panic if we'd ever get as
> far as reading "command" from there.
>
> But that's not what this part of the docs dicsusses, as the paragraph
> shown above the removed lines in the context notes.



-- 
James McCandlish

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-11-04 11:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-03 10:26 [PATCH] documentation: update git-submodule documentation James via GitGitGadget
2022-11-03 12:14 ` Ævar Arnfjörð Bjarmason
2022-11-04 11:25   ` James McCandlish

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 read-only IMAP folder(s) and NNTP newsgroup(s).