git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Francesco Pretto <ceztko@gmail.com>
To: Heiko Voigt <hvoigt@hvoigt.net>
Cc: "W. Trevor King" <wking@tremily.us>,
	Junio C Hamano <gitster@pobox.com>, Git <git@vger.kernel.org>,
	Jens Lehmann <Jens.Lehmann@web.de>
Subject: Re: Re: [RFC v2] submodule: Respect requested branch on all clones
Date: Wed, 8 Jan 2014 01:17:49 +0100	[thread overview]
Message-ID: <CALas-ihk6cVfosQ+Ov4QKUcfzvbXrYSonQvsN8Ay1+GTq_Ae-w@mail.gmail.com> (raw)
In-Reply-To: <20140107223858.GB10782@sandbox-ub>

2014/1/7 Heiko Voigt <hvoigt@hvoigt.net>:
> One thing is missing though (and I think thats where Francesco came
> from): What if the developer already has a detached HEAD in the
> submodule?
>
> How does he attach to a branch? For this we need something similar to
> Francescos attach/detach or Trevors submodule checkout with Junio's checkout
> HEAD~0 from here[1].
>
> I am still undecided how we should call it. Because of my
>
> Idea for feature branch support
> - -------------------------------
>
> For the branch attaching feature I would also like something that can actually
> modify .git/config and for me more importantly .gitmodules.
>
> So e.g. if I want to work on a longer lived feature branch in a submodule which
> I need in a feature branch in the superproject I would do something like this:
>
> $ git submodule checkout --gitmodules --merge -b hv/my-cool-feature
>

I said in another thread I said to Junio am not pursuing
--attach|--detach anymore, but seeing that now everybody seem to be
excited about attached HEAD here we are...

Heiko, it's all day I think this syntax: it supports your above "git
submodule checkout" and more. Take attention at the feature branch
part!

NOTE: the following seems to me compatible with Trevor's
"submodule.<module>.branch means attached" patch.

git submodule head
================

The full syntax is the sum of the following ones:
git submodule head [-b <branch>] [--attach] [--] [<path>...]
git submodule head [-b <branch>] [--attach] --index [--] [<path>...]
git submodule head --reset [--] [<path>...]
git submodule head --reset --index [--] [<path>...]

(NOTE: --index should be the same as Heiko's above --gitmodules, it
means -> touch .gitmodules)

All the switches combinations follow, explained:

# Attach the submodule HEAD to <branch>.
# Also set ".git/config" 'submodule.<module>.branch' to <branch>
$ git submodule head -b <branch> --attach <module>

# Attach the submodule HEAD to 'submodule.<module>.branch'.
# If it does not exists defaults to <remote>/master
$ git submodule head --attach <module>

# Unset  ".git/config" 'submodule.<module>.branch'
# Also attach or detach the HEAD according to what is in ".gitmodules":
# with Trevor's patch 'submodule.<module>.branch' set means attached,
# unset means detached
$ git submodule head --reset <module>

NOTE: feature branch part!

# Set ".gitmodules" 'submodule.<module>.branch' to <branch>
$ git submodule head -b <branch> --attach --index <module>

# Unset ".gitmodules" 'submodule.<module>.branch'
$ git submodule head --reset --index <module>
---------------------------------------------------------------------

Also note that a --detach switch is not needed with Trevor's patch. To
resync to a dettached HEAD workflow, when 'submodule.<module>.branch'
is unset in ".gitmodule", --reset (without --index) should be enough.

What do you think? Better?

Thank you,
Francesco

  reply	other threads:[~2014-01-08  0:18 UTC|newest]

Thread overview: 144+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-30  1:49 [PATCH/RFC] Introduce git submodule add|update --attach Francesco Pretto
2013-12-31 20:05 ` Phil Hord
2014-01-02 18:48   ` Francesco Pretto
2014-01-13 17:31     ` Junio C Hamano
2014-01-02 20:07 ` Junio C Hamano
2014-01-02 23:42   ` Francesco Pretto
2014-01-03  0:26     ` Francesco Pretto
2014-01-03  8:49     ` Francesco Pretto
2014-01-03 18:06       ` [PATCH] submodule: Respect reqested branch on all clones W. Trevor King
2014-01-04 22:09         ` Heiko Voigt
2014-01-04 22:54           ` W. Trevor King
2014-01-05  0:39             ` Heiko Voigt
2014-01-05  1:08               ` W. Trevor King
2014-01-05  3:53         ` Francesco Pretto
2014-01-05 16:17           ` [RFC v2] submodule: Respect requested " W. Trevor King
2014-01-05 19:48             ` Heiko Voigt
2014-01-05 21:24               ` W. Trevor King
2014-01-05 22:57                 ` Heiko Voigt
2014-01-05 23:39                   ` W. Trevor King
2014-01-06  0:33                     ` W. Trevor King
2014-01-06  1:12                       ` W. Trevor King
2014-01-06 16:02                         ` Heiko Voigt
2014-01-06 23:10                           ` Francesco Pretto
2014-01-06 23:32                             ` Francesco Pretto
2014-01-07 18:27                               ` Junio C Hamano
2014-01-07 19:19                                 ` Francesco Pretto
2014-01-07 19:45                                   ` W. Trevor King
2014-01-07 19:48                                     ` Francesco Pretto
2014-01-07 21:37                                       ` W. Trevor King
2014-01-07 21:51                                         ` Francesco Pretto
2014-01-07 22:38                                     ` Heiko Voigt
2014-01-08  0:17                                       ` Francesco Pretto [this message]
2014-01-08  1:05                                         ` W. Trevor King
2014-01-08  2:12                                           ` Francesco Pretto
2014-01-08 23:07                                           ` Francesco Pretto
2014-01-09  0:03                                             ` W. Trevor King
2014-01-09  1:09                                               ` Francesco Pretto
2014-01-09  2:22                                                 ` W. Trevor King
2014-01-09  8:31                                                 ` Jens Lehmann
2014-01-09 17:32                                                   ` W. Trevor King
2014-01-09 19:23                                                     ` Jens Lehmann
2014-01-09 19:55                                                       ` W. Trevor King
2014-01-09 21:40                                                         ` Jens Lehmann
2014-01-09 22:18                                                           ` W. Trevor King
2014-01-14 10:24                                                             ` Heiko Voigt
2014-01-14 16:57                                                               ` W. Trevor King
2014-01-14 20:58                                                                 ` Heiko Voigt
2014-01-14 21:42                                                                   ` W. Trevor King
2014-01-14 22:19                                                                     ` Heiko Voigt
2014-01-14 22:39                                                                       ` W. Trevor King
2014-01-14 21:46                                                               ` Re: " Heiko Voigt
2014-01-14 22:22                                                                 ` W. Trevor King
2014-01-14 22:42                                                                   ` Heiko Voigt
2014-01-15  0:02                                                                     ` Francesco Pretto
2014-01-16  4:09                                                                     ` [PATCH v4 0/6] submodule: Local branch creation in module_clone W. Trevor King
2014-01-16  4:10                                                                       ` [PATCH v4 1/6] submodule: Make 'checkout' update_module explicit W. Trevor King
2014-01-16 18:46                                                                         ` Junio C Hamano
2014-01-16 19:22                                                                           ` W. Trevor King
2014-01-16 20:07                                                                             ` Francesco Pretto
2014-01-16 20:19                                                                               ` W. Trevor King
2014-01-16  4:10                                                                       ` [PATCH v4 2/6] submodule: Document module_clone arguments in comments W. Trevor King
2014-01-16  4:10                                                                       ` [PATCH v4 3/6] submodule: Explicit local branch creation in module_clone W. Trevor King
2014-01-16 19:18                                                                         ` Junio C Hamano
2014-01-16 19:29                                                                           ` W. Trevor King
2014-01-16 19:43                                                                         ` Junio C Hamano
2014-01-16 21:12                                                                           ` W. Trevor King
2014-01-16  4:10                                                                       ` [PATCH v4 4/6] t7406: Just-cloned checkouts update to the gitlinked hash with 'reset' W. Trevor King
2014-01-16 19:22                                                                         ` Junio C Hamano
2014-01-16 19:32                                                                           ` W. Trevor King
2014-01-16 20:24                                                                             ` Junio C Hamano
2014-01-16  4:10                                                                       ` [PATCH v4 5/6] t7406: Add explicit tests for head attachement after cloning updates W. Trevor King
2014-01-16  4:10                                                                       ` [PATCH v4 6/6] Documentation: Describe 'submodule update' modes in detail W. Trevor King
2014-01-16 20:21                                                                         ` Junio C Hamano
2014-01-16 20:55                                                                           ` W. Trevor King
2014-01-16 21:02                                                                             ` John Keeping
2014-01-16 21:16                                                                               ` W. Trevor King
2014-01-16 21:55                                                                             ` Junio C Hamano
2014-01-17  2:37                                                                               ` W. Trevor King
2014-01-26 20:45                                                                                 ` [PATCH v5 0/4] submodule: Local branch creation in module_clone W. Trevor King
2014-01-26 20:45                                                                                   ` [PATCH v5 1/4] submodule: Make 'checkout' update_module explicit W. Trevor King
2014-01-27  1:32                                                                                     ` Eric Sunshine
2014-01-27  1:59                                                                                       ` W. Trevor King
2014-01-26 20:45                                                                                   ` [PATCH v5 2/4] submodule: Document module_clone arguments in comments W. Trevor King
2014-01-26 20:45                                                                                   ` [PATCH v5 3/4] submodule: Explicit local branch creation in module_clone W. Trevor King
2014-01-26 20:45                                                                                   ` [PATCH v5 4/4] Documentation: Describe 'submodule update --remote' use case W. Trevor King
2014-01-16 22:18                                                                           ` [PATCH v4 6/6] Documentation: Describe 'submodule update' modes in detail Philip Oakley
2014-01-16 22:35                                                                             ` W. Trevor King
2014-01-08 23:54                                           ` Re: [RFC v2] submodule: Respect requested branch on all clones Francesco Pretto
2014-01-09  0:23                                             ` W. Trevor King
2014-01-07 19:52                                   ` Francesco Pretto
2014-01-06 15:47                     ` Re: " Heiko Voigt
2014-01-06 17:22                       ` W. Trevor King
2014-01-05 21:27             ` Francesco Pretto
2014-01-05 21:47               ` W. Trevor King
2014-01-05 22:01                 ` W. Trevor King
2014-01-06 14:47               ` Heiko Voigt
2014-01-06 16:56                 ` Junio C Hamano
2014-01-06 17:37                   ` W. Trevor King
2014-01-06 21:32                     ` Junio C Hamano
2014-01-07  0:55                   ` Francesco Pretto
2014-01-07 18:15             ` Junio C Hamano
2014-01-07 18:47               ` W. Trevor King
2014-01-07 19:21                 ` Junio C Hamano
2014-01-07 19:50                   ` W. Trevor King
2014-01-05  2:50       ` [PATCH 1/2] git-submodule.sh: Support 'checkout' as a valid update command Francesco Pretto
2014-01-05  2:50         ` [PATCH 2/2] Introduce git submodule attached update Francesco Pretto
2014-01-05 19:55           ` Francesco Pretto
2014-01-05 20:33           ` Heiko Voigt
2014-01-05 21:46             ` Francesco Pretto
2014-01-06 14:06               ` Heiko Voigt
2014-01-06 17:47                 ` Francesco Pretto
2014-01-06 19:21                   ` David Engster
2014-01-07 19:27                     ` W. Trevor King
2014-01-07  4:10                   ` W. Trevor King
2014-01-07 22:36                     ` Preferred local submodule branches (was: Introduce git submodule attached update) W. Trevor King
2014-01-07 23:52                       ` W. Trevor King
2014-01-08  3:47                         ` Preferred local submodule branches W. Trevor King
2014-01-08  4:06                           ` W. Trevor King
2014-01-09  6:17                             ` [RFC v3 0/4] " W. Trevor King
2014-01-09  6:17                               ` [RFC v3 1/4] submodule: Add helpers for configurable local branches W. Trevor King
2014-01-09  6:17                               ` [RFC v3 2/4] submodule: Teach 'update' to preserve " W. Trevor King
2014-01-09  6:17                               ` [RFC v3 3/4] submodule: Teach 'add' about a configurable local-branch W. Trevor King
2014-01-15  0:18                                 ` Francesco Pretto
2014-01-15  1:02                                   ` W. Trevor King
2014-01-09  6:17                               ` [RFC v3 4/4] submodule: Add a new 'checkout' command W. Trevor King
2014-01-12  1:08                               ` Tight submodule bindings (was: Preferred local submodule branches) W. Trevor King
2014-01-13 19:37                                 ` Tight submodule bindings Jens Lehmann
2014-01-13 20:07                                   ` W. Trevor King
2014-01-13 22:13                                 ` Junio C Hamano
2014-01-14  2:44                                   ` W. Trevor King
2014-01-07 22:51                     ` Re: [PATCH 2/2] Introduce git submodule attached update Heiko Voigt
2014-01-07 23:14                       ` W. Trevor King
2014-01-07 18:56                   ` Junio C Hamano
2014-01-07 19:44                     ` Francesco Pretto
2014-01-07 19:07                   ` Junio C Hamano
2014-01-07 19:25                     ` Francesco Pretto
2014-01-05 23:22             ` Francesco Pretto
2014-01-06 14:18               ` Heiko Voigt
2014-01-06 15:58                 ` W. Trevor King
2014-01-05 20:20         ` [PATCH 1/2] git-submodule.sh: Support 'checkout' as a valid update command Heiko Voigt
2014-01-05 20:44         ` W. Trevor King
2014-01-06 16:20           ` Junio C Hamano
2014-01-06 17:42             ` Junio C Hamano
2014-01-06 17:52               ` Francesco Pretto

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=CALas-ihk6cVfosQ+Ov4QKUcfzvbXrYSonQvsN8Ay1+GTq_Ae-w@mail.gmail.com \
    --to=ceztko@gmail.com \
    --cc=Jens.Lehmann@web.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=hvoigt@hvoigt.net \
    --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 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).