From: Jens Lehmann <Jens.Lehmann@web.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: Phil Hord <phil.hord@gmail.com>,
"W. Trevor King" <wking@tremily.us>, Git <git@vger.kernel.org>,
Heiko Voigt <hvoigt@hvoigt.net>, Jeff King <peff@peff.net>,
Shawn Pearce <spearce@spearce.org>,
Nahor <nahor.j+gmane@gmail.com>
Subject: Re: [PATCH] submodule: add 'deinit' command
Date: Sun, 02 Dec 2012 20:55:22 +0100 [thread overview]
Message-ID: <50BBB22A.7050901@web.de> (raw)
In-Reply-To: <7vy5hhmcwp.fsf@alter.siamese.dyndns.org>
Am 02.12.2012 03:00, schrieb Junio C Hamano:
> Jens Lehmann <Jens.Lehmann@web.de> writes:
>
>> With "git submodule init" the user is able to tell git he cares about one
>> or more submodules and wants to have it populated on the next call to "git
>> submodule update". But currently there is no easy way he could tell git he
>> does not care about a submodule anymore and wants to get rid of his local
>> work tree (except he knows a lot about submodule internals and removes the
>> "submodule.$name.url" setting from .git/config himself).
>>
>> Help those users by providing a 'deinit' command. This removes the url
>> setting from .git/config either for the given submodule(s) or for all
>> those which have been initialized if none were given. Complain only when
>> for a submodule given on the command line the url setting can't be found
>> in .git/config.
>>
>> Add tests and link the man pages of "git submodule deinit" and "git rm" to
>> assist the user in deciding whether removing or unregistering the submodule
>> is the right thing to do for him.
>>
>> Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
>> ---
>
> I fully agree with your analysis on the reason why the "url" element
> is special and has to be copied to $GIT_DIR/config, but when you
> deinit (or uninit) a submodule to say you are no longer interested
> in it and do not want it populated in the context of the
> superproject, I am not sure if removing only submodule.$name.url (so
> that when you later decide to "init" it again, you will keep the
> values for submodule.$name.update and other things from the previous
> life) is the sane thing to do, or it is better to remove
> submodule.$name.* altogether as if an earlier "init" has never
> happened. Would it be worth analyzing the pros-and-cons here?
Sure. I was worried about throwing away other settings the user
might have set in the submodule.$name section and the first reflex
was to protect them. But thinking about that again I noticed we are
already throwing away a possibly user customized "url" setting, so
we already remove a possibly customized setting.
Maybe the principle of least surprise is better followed when we
nuke the whole section, as it might surprise the user more to have
a setting resurrected he customized in the last life cycle of the
submodule than seeing that after an deinit followed by an init all
former customizations are consistently gone. So I tend to think now
that removing the whole section would be the better solution here.
Opinions by other submodule users?
next prev parent reply other threads:[~2012-12-02 19:55 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 [this message]
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=50BBB22A.7050901@web.de \
--to=jens.lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=hvoigt@hvoigt.net \
--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.