All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: Thomas Huth <thuth@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] Yet another git submodule rant
Date: Wed, 8 Nov 2017 10:30:35 -0300	[thread overview]
Message-ID: <999fe337-ef3b-243e-65e7-ca4ecacb709e@amsat.org> (raw)
In-Reply-To: <54cb9ffb-fa92-f07c-f0df-af589cf17b3a@redhat.com>

On 11/08/2017 08:48 AM, Thomas Huth wrote:
> On 08.11.2017 11:53, Gerd Hoffmann wrote:
>> On Wed, Nov 08, 2017 at 10:57:21AM +0100, Thomas Huth wrote:
>>>
>>> That automatic git submodule stuff now broke my workflow again. I
>>> usually keep the git repository on my laptop and then simply rsync the
>>> sources (without .git directories) to my target machine to compile it
>>> there.
>>
>> How about excluding all files listed in .gitignore from rsync?  Which I
>> guess would be a good idea anyway because you don't want sync over the
>> build artifacts to the target machine if you want compile there.  Might
>> be as simple as "rsync --exclude-from .gitignore" (didn't test though).
> 
> That's a neat idea, thanks, I'll give it a try!
> 
>> Or syncronize using git instead of rsync.  This is what I am doing.
> 
> Tried that in the past already, but it didn't really feel right (I don't
> want to check in each time before syncing my files)...

TIL: git push --recurse-submodules=on-demand

GIT-PUSH(1)

       --recurse-submodules=check|on-demand|only|no

           [...] If check is used Git will verify that all submodule
           commits that changed in the revisions to be pushed are
           available on at least one remote of the submodule. If any
           commits are missing the push will be aborted and exit with
           non-zero status. If on-demand is used all submodules that
           changed in the revisions to be pushed will be pushed. If
           on-demand was not able to push all necessary revisions it
           will also be aborted and exit with non-zero status. [...]

GIT-CONFIG(1)

       push.recurseSubmodules
           Make sure all submodule commits used by the revisions to be
           pushed are available on a remote-tracking branch. If the
           value is check then Git will verify that all submodule
           commits that changed in the revisions to be pushed are
           available on at least one remote of the submodule. If any
           commits are missing, the push will be aborted and exit with
           non-zero status. If the value is on-demand then all
           submodules that changed in the revisions to be pushed will
           be pushed. If on-demand was not able to push all necessary
           revisions it will also be aborted and exit with non-zero
           status. [...]

  reply	other threads:[~2017-11-08 13:30 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-08  9:57 [Qemu-devel] Yet another git submodule rant Thomas Huth
2017-11-08 10:25 ` Daniel P. Berrange
2017-11-08 12:05   ` Michal Suchánek
2017-11-08 12:34     ` Daniel P. Berrange
2017-11-08 12:43       ` Michal Suchánek
2017-11-08 12:55         ` Daniel P. Berrange
2017-11-08 10:53 ` Gerd Hoffmann
2017-11-08 11:48   ` Thomas Huth
2017-11-08 13:30     ` Philippe Mathieu-Daudé [this message]
2017-11-08 16:09   ` Laszlo Ersek
2017-11-08 12:26 ` Philippe Mathieu-Daudé
2017-11-08 13:01   ` Daniel P. Berrange
2017-11-10 10:35     ` Alexey Kardashevskiy
2017-11-10 10:41       ` Daniel P. Berrange
2017-11-10 13:46         ` Alexey Kardashevskiy
2017-11-10 14:01           ` Peter Maydell
2017-11-11  0:15             ` Alexey Kardashevskiy
2017-11-10 14:22           ` Daniel P. Berrange
2017-11-11  1:10             ` Alexey Kardashevskiy
2017-11-20  1:06               ` Alexey Kardashevskiy
2017-11-09  3:02 ` Alexey Kardashevskiy

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=999fe337-ef3b-243e-65e7-ca4ecacb709e@amsat.org \
    --to=f4bug@amsat.org \
    --cc=kraxel@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.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.