From: Jens Lehmann <Jens.Lehmann@web.de>
To: Patrick Steinhardt <ps@pks.im>
Cc: Jonathan Nieder <jrnieder@gmail.com>,
git@vger.kernel.org, Heiko Voigt <hvoigt@hvoigt.net>
Subject: Re: [RFC] git submodule purge
Date: Thu, 26 Mar 2015 22:48:22 +0100 [thread overview]
Message-ID: <55147EA6.2000703@web.de> (raw)
In-Reply-To: <20150326133052.GA382@pks-pc.localdomain>
Am 26.03.2015 um 14:30 schrieb Patrick Steinhardt:
> On Wed, Mar 25, 2015 at 08:47:59PM +0100, Jens Lehmann wrote:
>> Am 25.03.2015 um 10:06 schrieb Patrick Steinhardt:
>>> Optionally I could
>>> implement `git gc --purge-submodule=<submodule-name>` as a second
>>> way to access the feature so that we have a way of purging them
>>> without using the submodules-interface. I doubt though that this
>>> will provide much of a benefit as the user still has to be aware
>>> that he is working with submodules as he has to provide the
>>> `--purge-submodule` option, so there is not much to be gained by
>>> this.
>>
>> Hmm, I still believe cleaning up a submodule repo which is already
>> deinited makes sense. Using 'rm -rf .git/modules/<submodulename>'
>> will work just fine, but is missing any safeguards. The deinit
>> command takes submodule paths, not submodule names. So it looks
>> to me like 'git gc --purge-submodule=<submodule-name>' would make
>> sense here (and this command should check that the submodule has
>> already been deinited and fail otherwise telling the user so).
>
> Ah, okay. I thought your intention was to provide `git gc
> --purge-sm` _instead_ of `git sm deinit --purge`. Guess it makes
> sense to have both available for the different use cases
> (explicitly removing a submodule vs removing unreferenced ones).
Yup. And I wonder if `--purge` should be the default for deinit
if no unpushed commits will be lost ... but let's hear what
others think about this one.
> I guess one could even provide another option
> `--purge-submodules` in addition to `--purge-sm=<smname>` that
> will remove all deinitialized submodules without local commits.
> Maybe its desirable to have a `--dry-run` flag as well that would
> print which repositories would be deleted by `--purge-sms`.
Hmm, thinking about that some more maybe we might wanna simplify
this a bit. Adding a `--prune-submodules` option to gc which will
remove all deinitialized submodules repos that don't have any
unpushed commits should be sufficient to do the housekeeping. If
people demand to be able to prune specific submodules later we
could still add a `--prune-submodule=<name>`, but I suspect we
might not need that.
prev parent reply other threads:[~2015-03-26 21:48 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-16 13:44 [RFC] git submodule purge Patrick Steinhardt
2015-03-16 15:55 ` Junio C Hamano
2015-03-17 8:18 ` Patrick Steinhardt
2015-03-17 8:25 ` Fredrik Gustafsson
2015-03-16 20:03 ` Jonathan Nieder
2015-03-17 7:56 ` Patrick Steinhardt
2015-03-23 21:32 ` Jens Lehmann
2015-03-25 9:06 ` Patrick Steinhardt
2015-03-25 19:47 ` Jens Lehmann
2015-03-26 13:30 ` Patrick Steinhardt
2015-03-26 21:48 ` Jens Lehmann [this message]
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=55147EA6.2000703@web.de \
--to=jens.lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=hvoigt@hvoigt.net \
--cc=jrnieder@gmail.com \
--cc=ps@pks.im \
/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).