All of lore.kernel.org
 help / color / mirror / Atom feed
From: "W. Trevor King" <wking@tremily.us>
To: Phil Hord <phil.hord@gmail.com>
Subject: Re: [PATCH] git-submodule add: Record branch name in .gitmodules
Date: Mon, 22 Oct 2012 18:55:46 -0400	[thread overview]
Message-ID: <20121022225546.GO23101@odin.tremily.us> (raw)
In-Reply-To: <CABURp0pqg7XC6makK2OcundMabV9AtcBNGNK6Q0TMZfJbt3anw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2912 bytes --]

On Mon, Oct 22, 2012 at 06:03:53PM -0400, Phil Hord wrote:
> Some projects now use the 'branch' config value to record the tracking
> branch for the submodule.  Some ascribe different meaning to the
> configuration if the value is given vs. undefined.  For example, see
> the Gerrit submodule-subscription mechanism.  This change will cause
> those workflows to behave differently than they do now.

For those to lazy to hunt down a reference, Gerrit uses
submodule.$name.branch to

  “indicate the branch of a submodule project that when updated will
  trigger automatic update of its registered gitlink.” [1]

They also have some extra sauce:

  “The branch value could be '.' if the submodule project branch has
  the same name as the destination branch of the commit having
  gitlinks/.gitmodules file.
  …
  Any git submodules which are added and not have the branch field
  available in the .gitmodules file will not be subscribed by Gerrit
  to automatically update the superproject.”

> I do like the idea, but I wish it had a different name for the
> recording.  Maybe --record-branch=${BRANCH} as an extra switch so the
> action is explicitly requested.
> 
>   git submodule add --branch=master --record-branch=master foo bar

Ugh, I don't want to retype the branch name whenever I do this.

<brainstorming>

How about -r/--record, with the recorded name being optional?

  --record-branch[=<recorded_name>]

This would satisfy Gerrit users that wanted to use '.', but also
satisfy me with:

  git submodule add -rb=master foo bar

However, there is a change that people would see that, and then use

  git submodule add -r -b=master foo bar

which would checkout the HEAD from foo and store `-b=master` in
submodule.$name.branch.

A more verbose, but less dangerous, option would be a boolean
-r/--record that enables the recording of whatever was passed to
-b/--branch.  This looses the flexibility of running something like

  git submodule add --branch=master --record-branch=. foo bar

but the Gerrit folks have gotten along OK without any branch recording
so far ;).  They can keep setting '.' the same way they always have.

</brainstorming>

On a tangentially related note, it would be nice to set environment
variables for each of the settings in submodule.$name during a foreach
call.  Then you could use

  git submodule foreach 'git checkout $branch && git pull'

Perhaps you'd want to blacklist/whitelist or downcase settings names
to avoid things like

  [submodule "foo"]
        PATH = /my/rootkit/

but the update line is much cleaner.

Cheers,
Trevor

[1]: https://gerrit.googlesource.com/gerrit/+/master/Documentation/user-submodules.txt

-- 
This email may be signed or encrypted with GnuPG (http://www.gnupg.org).
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  parent reply	other threads:[~2012-10-25  1:04 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 [this message]
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
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=20121022225546.GO23101@odin.tremily.us \
    --to=wking@tremily.us \
    --cc=phil.hord@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 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.