All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "W. Trevor King" <wking@tremily.us>
Cc: Git <git@vger.kernel.org>, Jeff King <peff@peff.net>,
	Phil Hord <phil.hord@gmail.com>,
	Shawn Pearce <spearce@spearce.org>,
	Jens Lehmann <Jens.Lehmann@web.de>,
	Nahor <nahor.j+gmane@gmail.com>
Subject: Re: [PATCH v3 1/3] git-submodule add: Add -r/--record option
Date: Sun, 11 Nov 2012 02:33:45 -0800	[thread overview]
Message-ID: <7vzk2oo2d2.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <20121110184437.GC2739@mjolnir> (W. Trevor King's message of "Sat, 10 Nov 2012 13:44:37 -0500")

"W. Trevor King" <wking@tremily.us> writes:

> On Thu, Nov 08, 2012 at 11:34:54PM -0800, Junio C Hamano wrote:
>
>> I would not object to "git config submodule.$name.branch $value", on
>> the other hand.  "git config" can be used to set a piece of data
>> that has specific meaning, but as a low-level tool, it is not
>> _limited_ to variables that have defined meaning.
>
> This is what I'm doing now:
>
>   $ git submodule add -b <branch> <repo> <path>
>   $ git config --file .gitmodules submodule.<path>.branch <branch>
>   $ git submodule foreach 'git checkout $(git config --file $toplevel/.gitmodules submodule.$name.branch) && git pull'
>
> With my second patch (Phil's config export), that becomes
>
>   $ git submodule add -b <branch> <repo> <path>
>   $ git config --file .gitmodules submodule.<path>.branch <branch>
>   $ git submodule foreach 'git checkout $submodule_branch && git pull'
>
> With my first patch, that becomes
>
>   $ git submodule add -rb <branch> <repo> <path>
>   $ git submodule foreach 'git checkout $submodule_branch && git pull'
>
> This seems pretty useful to me,...

Ah, this reminds me of another thing I noticed when I saw that
patch.  The change seems to think "branch" is the _only_ thing the
user might want to record per submodule upon "git submodule add".
As an interface to muck with an uninterpreted random configuration,
it squats on a good option name for setting one single and arbitrary
variable---quite a selfish change that is not acceptable.

Calling the option "--record-branch-for-submodule" or something more
specific might alleviate the problem, but then it would become even
less useful as a short-hand for "config submodule.$name.branch", I
would suspect.

On the other hand, if this were one small part of a series to define
the "tip following mode" where (at least)

 (1) "git submodule update [$path]" makes sure that the checkout of
     the submodule at $path matches the commit at the tip of the
     branch named by submodule.$name.branch in .gitmodules of the
     superproject, instead of the commit that is recorded in the
     index of the superproject; and

 (2) "git diff [$path]" and friends in the superproject compares the
     HEAD of the checkout of the submodule at $path with the tip of
     the branch named by submodule.$name.branch in .gitmodules of
     the superproject, instead of the commit that is recorded in the
     index of the superproject.

and the option were called something like "--follow-branch=$branch",
it would make much more sense for its initial implementation to set
the name of the branch to submodule.$name.branch variable.  Later
iterations of such a feature may want to do more than just setting
that single variable but that is a part of the implementation detail
of the tip following mode the users do not have to know about, just
like setting the submodule.$name.branch variable is.

So in that sense, too, I would be somewhat unhappy to see this
change in the current form to go in.

  reply	other threads:[~2012-11-11 10:34 UTC|newest]

Thread overview: 156+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-22 16:34 [PATCH] git-submodule add: Record branch name in .gitmodules W. Trevor King
     [not found] ` <CABURp0pqg7XC6makK2OcundMabV9AtcBNGNK6Q0TMZfJbt3anw@mail.gmail.com>
2012-10-22 22:55   ` W. Trevor King
2012-10-24 18:12     ` Phil Hord
2012-10-25  1:12       ` W. Trevor King
2012-10-26 13:37         ` Jeff King
2012-10-23 19:16 ` Nahor
2012-10-23 19:44   ` W. Trevor King
2012-10-23 20:44     ` W. Trevor King
2012-10-23 21:57       ` [PATCH v2] git-submodule add: Add -r/--record option W. Trevor King
2012-10-24 19:15         ` Jens Lehmann
2012-10-25  0:53           ` W. Trevor King
2012-10-28 20:48             ` Jens Lehmann
2012-10-28 21:16               ` W. Trevor King
2012-10-28 21:59               ` Shawn Pearce
2012-10-28 22:34                 ` W. Trevor King
2012-10-29  5:34                   ` Jeff King
2012-10-29 10:45                     ` W. Trevor King
2012-10-29 10:58                       ` Jeff King
2012-10-29 11:29                         ` W. Trevor King
2012-10-29 11:43                           ` Jeff King
2012-10-29 17:38                             ` Phil Hord
2012-10-29 21:36                               ` Jeff King
2012-10-29 22:21                                 ` Phil Hord
2012-10-29 22:27                                   ` Jeff King
2012-11-09  3:35                                     ` [PATCH v3 0/3] " W. Trevor King
2012-11-09  3:35                                       ` [PATCH v3 1/3] " W. Trevor King
2012-11-09  7:34                                         ` Junio C Hamano
2012-11-09 16:29                                           ` Heiko Voigt
2012-11-10 19:02                                             ` W. Trevor King
2012-11-17 15:04                                               ` Heiko Voigt
2012-11-17 19:20                                                 ` W. Trevor King
2012-11-17 21:31                                                   ` Heiko Voigt
2012-11-17 22:00                                                     ` W. Trevor King
2012-11-20  0:49                                                   ` Junio C Hamano
2012-11-20  1:16                                                     ` W. Trevor King
2012-11-20  5:39                                                       ` Junio C Hamano
2012-11-20 12:19                                                         ` W. Trevor King
2012-11-20 19:52                                                           ` Junio C Hamano
2012-11-23 15:55                                                             ` Heiko Voigt
2012-11-23 16:23                                                               ` W. Trevor King
2012-11-23 16:30                                                                 ` W. Trevor King
2012-11-23 17:54                                                                 ` W. Trevor King
2012-11-26 21:00                                                                   ` [PATCH v4 0/4] git-submodule add: Add --local-branch option W. Trevor King
2012-11-26 21:00                                                                     ` [PATCH v4 1/4] " W. Trevor King
2012-11-26 21:00                                                                     ` [PATCH v4 2/4] git-submodule init: Record submodule.<name>.branch in repository config W. Trevor King
2012-11-27 23:19                                                                       ` Jens Lehmann
2012-11-28  0:40                                                                         ` W. Trevor King
2012-11-30 17:53                                                                         ` [RFC] remove/deprecate 'submodule init' and 'sync' W. Trevor King
2012-11-30 18:17                                                                           ` W. Trevor King
2012-11-30 23:52                                                                           ` Phil Hord
2012-12-01 12:48                                                                             ` W. Trevor King
2012-12-01 15:42                                                                               ` Jens Lehmann
2012-12-01 15:56                                                                             ` Jens Lehmann
2012-12-01 16:37                                                                               ` W. Trevor King
2012-12-01 16:45                                                                               ` [PATCH] submodule: add 'deinit' command Jens Lehmann
2012-12-02  2:00                                                                                 ` Junio C Hamano
2012-12-02 19:55                                                                                   ` Jens Lehmann
2012-12-03  7:58                                                                                     ` Junio C Hamano
2012-12-04 21:48                                                                                       ` [PATCH v2] " Jens Lehmann
2012-12-04 23:06                                                                                         ` Junio C Hamano
2012-12-12 15:08                                                                                         ` Michael J Gruber
2012-12-12 17:22                                                                                           ` Jens Lehmann
2012-12-12 19:32                                                                                             ` Junio C Hamano
2012-12-12 22:25                                                                                               ` Jens Lehmann
2012-12-12 22:34                                                                                                 ` Junio C Hamano
2012-12-12 23:09                                                                                                   ` W. Trevor King
2012-12-12 23:35                                                                                                     ` Junio C Hamano
2012-12-13  0:28                                                                                                       ` W. Trevor King
2012-12-13 15:47                                                                                                 ` Marc Branchaud
2012-12-01 15:38                                                                           ` [RFC] remove/deprecate 'submodule init' and 'sync' Jens Lehmann
2012-12-01 16:30                                                                             ` W. Trevor King
2012-12-01 17:25                                                                               ` Jens Lehmann
2012-12-01 17:49                                                                                 ` W. Trevor King
2012-12-01 18:04                                                                                   ` Jens Lehmann
2012-12-01 18:16                                                                                     ` W. Trevor King
2012-12-02 19:09                                                                                       ` W. Trevor King
2012-12-02 20:29                                                                                         ` Jens Lehmann
2012-12-02 21:11                                                                                           ` W. Trevor King
2012-12-01 16:54                                                                           ` W. Trevor King
2012-12-03 15:38                                                                             ` W. Trevor King
2012-11-26 21:00                                                                     ` [PATCH v4 3/4] git-submodule update: Add --branch option W. Trevor King
2012-11-27 18:51                                                                       ` Heiko Voigt
2012-11-27 20:21                                                                         ` W. Trevor King
2012-11-26 21:00                                                                     ` [PATCH v4 4/4] Hack fix for 'submodule update does not fetch already present commits' W. Trevor King
2012-11-27 18:31                                                                     ` [PATCH v4 0/4] git-submodule add: Add --local-branch option Heiko Voigt
2012-11-27 19:04                                                                       ` W. Trevor King
2012-11-27 19:16                                                                       ` Heiko Voigt
2012-11-27 19:01                                                                   ` W. Trevor King
2012-11-27 21:18                                                                     ` [PATCH v4 4/4] Hack fix for 'submodule update does not fetch already present commits' W. Trevor King
2012-11-27 23:28                                                                     ` Re: [PATCH v4 0/4] git-submodule add: Add --local-branch option Heiko Voigt
2012-11-28  2:42                                                                       ` W. Trevor King
2012-11-29 18:51                                                                         ` Phil Hord
2012-11-23 17:24                                                               ` [PATCH v3 1/3] git-submodule add: Add -r/--record option Sascha Cunz
2012-11-23 16:03                                                           ` Heiko Voigt
2012-11-28 13:09                                             ` [PATCH v4 0/4] git-submodule add: Add --local-branch option (summary) W. Trevor King
2012-11-28 16:53                                               ` W. Trevor King
2012-11-28 19:30                                                 ` [PATCH v5 0/2] submodule update: add --remote for submodule's upstream changes W. Trevor King
2012-11-28 19:30                                                   ` [PATCH v5 1/2] " W. Trevor King
2012-11-28 19:30                                                   ` [PATCH v5 2/2] submodule add: If --branch is given, record it in .gitmodules W. Trevor King
2012-11-29 16:12                                                   ` [RFC] git-submodule update: Add --commit option W. Trevor King
2012-11-29 16:21                                                     ` W. Trevor King
2012-11-29 16:27                                                     ` W. Trevor King
2012-11-29 19:13                                                   ` [PATCH v5 0/2] submodule update: add --remote for submodule's upstream changes W. Trevor King
2012-11-30  1:11                                                     ` Phil Hord
2012-11-30  3:27                                                       ` W. Trevor King
2012-12-02  3:17                                                         ` [PATCH v6 0/4] " W. Trevor King
2012-12-02  3:17                                                           ` [PATCH v6 1/4] submodule: add get_submodule_config helper funtion W. Trevor King
2012-12-03 19:30                                                             ` Junio C Hamano
2012-12-04  0:17                                                               ` W. Trevor King
2012-12-11 18:58                                                                 ` [PATCH v7 0/3] submodule update: add --remote for submodule's upstream changes W. Trevor King
2012-12-11 18:58                                                                   ` [PATCH v7 1/3] submodule: add get_submodule_config helper funtion W. Trevor King
2012-12-11 18:58                                                                   ` [PATCH v7 2/3] submodule update: add --remote for submodule's upstream changes W. Trevor King
2012-12-12 17:43                                                                     ` Phil Hord
2012-12-12 19:54                                                                       ` Junio C Hamano
2012-12-12 23:02                                                                       ` W. Trevor King
2012-12-19 16:03                                                                         ` [PATCH v8 0/3] " wking
2012-12-19 16:03                                                                           ` [PATCH v8 1/3] submodule: add get_submodule_config helper funtion wking
2012-12-21  8:20                                                                             ` Heiko Voigt
2012-12-21 11:04                                                                               ` W. Trevor King
2012-12-19 16:03                                                                           ` [PATCH v8 2/3] submodule update: add --remote for submodule's upstream changes wking
2012-12-19 16:03                                                                           ` [PATCH v8 3/3] submodule add: If --branch is given, record it in .gitmodules wking
2012-12-19 17:43                                                                             ` Junio C Hamano
2012-12-21  8:18                                                                           ` [PATCH v8 0/3] submodule update: add --remote for submodule's upstream changes Heiko Voigt
2012-12-11 18:58                                                                   ` [PATCH v7 3/3] submodule add: If --branch is given, record it in .gitmodules W. Trevor King
2012-12-12  5:42                                                                   ` [PATCH v7 0/3] submodule update: add --remote for submodule's upstream changes Junio C Hamano
2012-12-12 15:24                                                                     ` W. Trevor King
2012-12-12 18:19                                                                       ` Junio C Hamano
2012-12-12 22:44                                                                         ` W. Trevor King
2012-12-02  3:17                                                           ` [PATCH v6 2/4] " W. Trevor King
2012-12-03 16:46                                                             ` Junio C Hamano
2012-12-03 18:15                                                               ` W. Trevor King
2012-12-03 18:38                                                                 ` W. Trevor King
2012-12-03 20:29                                                                   ` Junio C Hamano
2012-12-02  3:17                                                           ` [PATCH v6 3/4] submodule add: If --branch is given, record it in .gitmodules W. Trevor King
2012-12-02  3:17                                                           ` [PATCH v6 4/4] submodule update: add submodule.<name>.remote config option W. Trevor King
2012-12-02 19:32                                                         ` [PATCH v5 0/2] submodule update: add --remote for submodule's upstream changes Jens Lehmann
2012-11-10 18:44                                           ` [PATCH v3 1/3] git-submodule add: Add -r/--record option W. Trevor King
2012-11-11 10:33                                             ` Junio C Hamano [this message]
2012-11-11 15:00                                               ` W. Trevor King
2012-11-17 15:30                                                 ` Heiko Voigt
2012-11-28 19:42                                               ` W. Trevor King
2012-11-28 20:08                                                 ` Junio C Hamano
     [not found]                                         ` <20121109104607.GC4406@ftbfs.org>
2012-11-10 19:11                                           ` W. Trevor King
2012-11-09  3:35                                       ` [PATCH v3 2/3] git-submodule foreach: export .gitmodules settings as variables W. Trevor King
2012-11-09 16:45                                         ` Heiko Voigt
2012-11-10 19:21                                           ` W. Trevor King
2012-11-09  3:35                                       ` [PATCH v3 3/3] git-submodule: Motivate --record with an example use case W. Trevor King
2012-10-25 22:14         ` [PATCH v2] git-submodule add: Add -r/--record option W. Trevor King
2012-10-26 14:00           ` Jeff King
2012-10-23 21:45     ` [PATCH] git-submodule add: Record branch name in .gitmodules Nahor
2012-10-23 20:36   ` Jens Lehmann
2012-10-23 20:55     ` W. Trevor King
2012-10-23 22:02     ` Nahor
2012-10-24 19:10       ` Jens Lehmann
  -- strict thread matches above, loose matches on Subject: below --
2012-11-28 18:28 [PATCH] submodule update: document exisiting -r form for --rebase W. Trevor King
2012-11-28 19:02 ` Junio C Hamano

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=7vzk2oo2d2.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=Jens.Lehmann@web.de \
    --cc=git@vger.kernel.org \
    --cc=nahor.j+gmane@gmail.com \
    --cc=peff@peff.net \
    --cc=phil.hord@gmail.com \
    --cc=spearce@spearce.org \
    --cc=wking@tremily.us \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.