git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael J Gruber <git@drmicha.warpmail.net>
To: Florian Mickler <florian@mickler.org>
Cc: Lee Griffiths <poddster@gmail.com>, git@vger.kernel.org
Subject: Re: Checking for fast-forward
Date: Tue, 07 Jul 2009 10:21:40 +0200	[thread overview]
Message-ID: <4A530594.20100@drmicha.warpmail.net> (raw)
In-Reply-To: <20090706232614.32602ccc@schatten>

Florian Mickler venit, vidit, dixit 06.07.2009 23:26:
> this is more of a git question, than smth special to msysgit. 
> 
> (git ml cc'd)
> 
> On Mon, 6 Jul 2009 17:36:54 +0100
> Lee Griffiths <poddster@gmail.com> wrote:
> 
>>
>> I have a script that checks for fast-forwarding by doing a git push
>> --dry-run. This strikes me as the wrong way to do it as it does _all_
>> of the stuff a git push would normally do i.e., packing and so on, and
>> I'm only really after the fast-forward check. Seeing as I already do a
>> git push at the end of the script (actualy two, as I do a --tags one
>> as well[1]), it seems like a big waste of time. Is there anyother way
>> to check and see if the git push would work? (I want the script to
>> avoid doing a git pull if possible).

No. (I infer your question is how to find out whether a push is a
fast-forward.)

If you don't know the state of the branch head in the remote repo you
simply cannot know whether the push will be a fast-forward.

If you know that your corresponding remote branch (say
remotes/origin/foo) is up-to-date with the destination branch (say foo)
in the remote repo (e.g., because you know you've fetched before and
nobody else is allowed to push there) then you can compare your branch
to be pushed (say foo) with your remote branch:

If $(git rev-list bar..remotes/origin/foo) is empty then the branch foo
in the remote repo can be fast-forwarded to bar.

Chhers,
Michael

  reply	other threads:[~2009-07-07  8:22 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <ca4f67be0907060936v7bf7c44y4395717fff854fd4@mail.gmail.com>
2009-07-06 21:26 ` Checking for fast-forward Florian Mickler
2009-07-07  8:21   ` Michael J Gruber [this message]
2009-07-07 10:46     ` Florian Mickler
2009-07-07 11:01       ` Michael J Gruber
2009-07-08 17:36     ` Lee Griffiths

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=4A530594.20100@drmicha.warpmail.net \
    --to=git@drmicha.warpmail.net \
    --cc=florian@mickler.org \
    --cc=git@vger.kernel.org \
    --cc=poddster@gmail.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 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).