Git Mailing List Archive mirror
 help / color / mirror / Atom feed
From: James McCandlish <jdm12989@gmail.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: James via GitGitGadget <gitgitgadget@gmail.com>, git@vger.kernel.org
Subject: Re: [PATCH] documentation: update git-submodule documentation
Date: Fri, 4 Nov 2022 07:25:37 -0400	[thread overview]
Message-ID: <CALwerKjpvH6V6httS9J5ws8=-n-ra7Lma4X4LHSSBLhVejp6bA@mail.gmail.com> (raw)
In-Reply-To: <221103.86eduk1bcw.gmgdl@evledraar.gmail.com>

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

      reply	other threads:[~2022-11-04 11:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]

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='CALwerKjpvH6V6httS9J5ws8=-n-ra7Lma4X4LHSSBLhVejp6bA@mail.gmail.com' \
    --to=jdm12989@gmail.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.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 read-only IMAP folder(s) and NNTP newsgroup(s).