All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerhard Gappmeier <gerhard.gappmeier@ascolab.com>
To: Jens Lehmann <Jens.Lehmann@web.de>, git@vger.kernel.org
Subject: Re: automatic submodule deinit (platform specific blacklist)
Date: Thu, 17 Apr 2014 22:11:24 +0200	[thread overview]
Message-ID: <5350356C.3030508@ascolab.com> (raw)
In-Reply-To: <534FF724.9060707@web.de>

On 04/17/14 17:45, Jens Lehmann wrote:
> Am 17.04.2014 10:02, schrieb Gerhard Gappmeier:
>> Hi all
>>
>> in our cross-platform projects we always have a certain Windows-only
>> submodule, which contains all the compatibility stuff and missing libraries for
>> Windows.
>>
>> When cloning such a repository on a Linux machine the typical procedure is:
>> git clone git@server:project.git
>> cd project
>> git submodule init
>> git submodule deinit path/to/windows-stuff
>> git submodule update
>>
>> This way you avoid wasting time and disk space to clone stuff that you don't
>> need on Linux (or on whatever non-windows machine your are actually working).
>>
>> It would be really cool to add a kind of platform specific submodule blacklist,
>> either in .gitconfig or maybe even better in .gitattributes so that we can add
>> this configuration to the repository.
>>
>> Example .gitattributes how this could look like:
>>    # common stuff
>>    *.sh eol=lf
>>    *.conf eol=lf
>>
>>    # submodule config
>>    [src/windows-compat]
>>    platforms = win32
>>
>> By default the platforms could have the value "all". But one can change it to
>> a list of platform names e.g. "platforms = linux, macosx" or "win32" like in
>> the example above.
>>
>> Such a feature would also make it possible to simply use "git clone --
>> recursive git@server:project.git" avoiding the single stops as shown above.
>>
>> What do your think? Is something like this possible?
>> Or is it even possible already somehow?
>>
>> Today I'm using a shell script to automate this steps, but this is just a
>> workaround. It would be cool if git itself could do this for us.
> What about setting "submodule.<name>.update" to "none" in the config of
> your non-Windows machines? Then they would be initialized (= the URL
> setting gets copied to .git/config) but never checked out.
great! that works.

It would be even better if we could store this config in the repository,
but this helps already a lot.

thx

      reply	other threads:[~2014-04-17 20:11 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-17  8:02 automatic submodule deinit (platform specific blacklist) Gerhard Gappmeier
2014-04-17 15:45 ` Jens Lehmann
2014-04-17 20:11   ` Gerhard Gappmeier [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=5350356C.3030508@ascolab.com \
    --to=gerhard.gappmeier@ascolab.com \
    --cc=Jens.Lehmann@web.de \
    --cc=git@vger.kernel.org \
    /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.