git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Jeff King <peff@peff.net>,
	Michael Kebe <michael.kebe@gmail.com>,
	"Liam R . Howlett" <Liam.Howlett@Oracle.com>,
	Adam Dinwoodie <adam@dinwoodie.org>,
	Stefan Beller <sbeller@google.com>
Subject: Re: [PATCH v3 2/3] sha1dc: optionally use sha1collisiondetection as a submodule
Date: Wed, 05 Jul 2017 00:50:22 +0200	[thread overview]
Message-ID: <87fuebbyvl.fsf@gmail.com> (raw)
In-Reply-To: <xmqq4luskt9l.fsf@gitster.mtv.corp.google.com>


On Tue, Jul 04 2017, Junio C. Hamano jotted:

> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>>>> diff --git a/.gitmodules b/.gitmodules
>>>> new file mode 100644
>>>> index 0000000000..cbeebdab7a
>>>> --- /dev/null
>>>> +++ b/.gitmodules
>>>> @@ -0,0 +1,4 @@
>>>> +[submodule "sha1collisiondetection"]
>>>> +	path = sha1collisiondetection
>>>> +	url = https://github.com/cr-marcstevens/sha1collisiondetection.git
>>>> +	branch = master
>>>
>>> Do we need to say this "branch" bit?
>>
>> Yes, it's to make future updates easier, see b928922727 ("submodule add:
>> If --branch is given, record it in .gitmodules", 2012-12-19).
>
> Why?  It's not like we want to _follow_ the 'master' branch of that
> sha1collisiondetection repository.  We declare that a specific
> commit from the (sub)module is suited for our project, and do not
> really care to automatically update from whatever happens to be at
> the tip of 'master' there.

I'm honestly at a bit of a loss as to to what the confusion is here. So
to try to unravel that let's start from square one, explaining some
things you surely know already, but hopefully clearing this up.

> It's not like we want to _follow_ the 'master' branch of that
> sha1collisiondetection repository.

Git has no support at all for submodules that somehow follow an upstream
branch in the SVN sense of remotes, so no, that's not what putting
"branch" into the .gitmodules config means at all.

> We declare that a specific commit from the (sub)module is suited for
> our project, and do not really care to automatically update from
> whatever happens to be at the tip of 'master' there.

There is no automatic updating involved. The "master" branch here is
just metadata. If and when we bump the sha1collisiondetection submodule
that's going to be from the master branch, so by recording it we save
ourselves one step (in theory) by issuing some "pull updates from the
branch we always update from" command, rather than being at a loss as to
where we should go from the currently detached ref to N potential
upstream branches to update from.

Now, it seems git-submodule's tooling for doing this is still rather
crappy, but I think that's the idea, maybe I'm just holding it wrong.

Before git ever got this "branch" key in .gitmodules I'd added it to my
own aliases (and they're happily compatible with git-submodule). It
still (for me) works better than what git-submodule does:

    $ git config alias.sm-mainbranch
    !git config --file ../.gitmodules submodule.$NAME.branch || git describe --all --always | sed 's!^heads/!!'
    $ git config alias.sm-pull-all
    !git submodule foreach 'git checkout $(NAME=$name git sm-mainbranch) && git pull'

So in a repo with submodules I can simply run "git sm-pull-all" and
it'll update them all to the branch they're tracking, and at this point
I can "git add" them and review the updates.

I think some invocation of "git submodule update ???" will do the same,
but I can't from the docs see what that is right now.

In any case, if and when I/others figure that out the metadata will be
there, saving us one step in updating this in the future.

>>
>>> Other than that looks good to me.
>>>
>>> Thanks.

  reply	other threads:[~2017-07-04 22:50 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-26  7:32 Compile Error v2.13.2 on Solaris SPARC Michael Kebe
     [not found] ` <87lgofcf7r.fsf@gmail.com>
2017-06-26 12:36   ` Michael Kebe
2017-06-26 12:47     ` Ævar Arnfjörð Bjarmason
2017-06-26 14:00       ` Michael Kebe
2017-06-26 18:31         ` Ævar Arnfjörð Bjarmason
2017-06-26 18:29       ` Liam R. Howlett
     [not found] ` <87fuem7aw2.fsf@gmail.com>
2017-06-27  5:41   ` Michael Kebe
2017-06-27  6:28     ` Michael Kebe
2017-06-27 16:28       ` Liam R. Howlett
2017-06-27 17:38         ` Junio C Hamano
2017-06-27 18:29           ` Liam R. Howlett
2017-06-27 18:55             ` Ævar Arnfjörð Bjarmason
2017-06-27 17:59         ` Ævar Arnfjörð Bjarmason
2017-06-27 12:17 ` [PATCH 0/3] update sha1dc from PR #36 Ævar Arnfjörð Bjarmason
2017-06-27 18:37   ` Stefan Beller
2017-06-27 20:33   ` [PATCH v2 " Ævar Arnfjörð Bjarmason
2017-06-27 21:37     ` Junio C Hamano
2017-06-27 21:38     ` Junio C Hamano
2017-06-27 22:24       ` Ævar Arnfjörð Bjarmason
2017-06-28 21:42       ` Ævar Arnfjörð Bjarmason
2017-06-28 22:02         ` Junio C Hamano
2017-06-27 20:33   ` [PATCH v2 1/3] sha1dc: correct endian detection for Solaris (and others?) Ævar Arnfjörð Bjarmason
2017-06-27 20:33   ` [PATCH v2 2/3] sha1dc: optionally use sha1collisiondetection as a submodule Ævar Arnfjörð Bjarmason
2017-06-27 20:33   ` [PATCH v2 3/3] sha1collisiondetection: automatically enable when submodule is populated Ævar Arnfjörð Bjarmason
2017-07-01 22:05   ` [PATCH v3 0/3] Update sha1dc from upstream Ævar Arnfjörð Bjarmason
2017-07-01 22:05   ` [PATCH v3 1/3] sha1dc: update " Ævar Arnfjörð Bjarmason
2017-07-01 22:05   ` [PATCH v3 2/3] sha1dc: optionally use sha1collisiondetection as a submodule Ævar Arnfjörð Bjarmason
2017-07-03 17:11     ` Junio C Hamano
2017-07-03 20:29       ` Ævar Arnfjörð Bjarmason
2017-07-04 17:26         ` Junio C Hamano
2017-07-04 22:50           ` Ævar Arnfjörð Bjarmason [this message]
2017-07-05  0:36             ` Stefan Beller
2017-07-05  1:56               ` Junio C Hamano
2017-07-05 17:46                 ` Stefan Beller
2017-07-05 18:03                   ` Ævar Arnfjörð Bjarmason
2017-07-01 22:05   ` [PATCH v3 3/3] sha1collisiondetection: automatically enable when submodule is populated Ævar Arnfjörð Bjarmason
2017-06-27 12:17 ` [PATCH 1/3] sha1dc: update from my PR #36 Ævar Arnfjörð Bjarmason
2017-06-27 15:22   ` Junio C Hamano
2017-06-27 15:53     ` Junio C Hamano
2017-06-27 18:07       ` Ævar Arnfjörð Bjarmason
2017-06-27 15:55     ` Junio C Hamano
2017-06-27 16:31       ` Liam R. Howlett
2017-06-27 18:11       ` Ævar Arnfjörð Bjarmason
2017-06-27 19:10         ` Junio C Hamano
2017-06-27 19:33           ` Junio C Hamano
2017-06-27 19:35           ` Ævar Arnfjörð Bjarmason
2017-06-27 19:38             ` Junio C Hamano
2017-06-27 19:38           ` Liam R. Howlett
2017-06-27 19:48             ` Junio C Hamano
2017-06-27 18:06     ` Ævar Arnfjörð Bjarmason
2017-06-27 18:12       ` Junio C Hamano
2017-06-27 18:19         ` Ævar Arnfjörð Bjarmason
2017-06-27 20:17           ` Junio C Hamano
2017-06-27 18:23       ` Junio C Hamano
2017-06-27 18:52         ` Ævar Arnfjörð Bjarmason
2017-06-27 12:17 ` [PATCH 2/3] sha1dc: optionally use sha1collisiondetection as a submodule Ævar Arnfjörð Bjarmason
2017-06-27 18:46   ` Stefan Beller
2017-06-27 18:56     ` Ævar Arnfjörð Bjarmason
2017-06-27 12:17 ` [PATCH 3/3] sha1collisiondetection: automatically enable when submodule is populated Ævar Arnfjörð Bjarmason

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=87fuebbyvl.fsf@gmail.com \
    --to=avarab@gmail.com \
    --cc=Liam.Howlett@Oracle.com \
    --cc=adam@dinwoodie.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=michael.kebe@gmail.com \
    --cc=peff@peff.net \
    --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).