git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Pratyush Yadav <me@yadavpratyush.com>
To: Toni Brkic <brkict@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: feature request - add --only-author option to git push
Date: Thu, 27 Aug 2020 15:49:24 +0530	[thread overview]
Message-ID: <20200827101924.iklvsy6lnscrpojs@yadavpratyush.com> (raw)
In-Reply-To: <CAF2SHyBYZ7=vcL4sPdP=T9zRCBrwW_z0-o1v9=gC4=oPqv4oXQ@mail.gmail.com>

Hi Toni,

On 27/08/20 09:47AM, Toni Brkic wrote:
> Sorry if this mail list is not used for feature requests/discussions.
> This was the best list I found.
> Let me know if should post it somewhere else.
> 
> I would like to be able to configure git so that when doing git push
> git checks that I am author of
> all patches that are being pushed. If I am not authour it should not do push.
> 
> The reason for this is that a common mistake that happens when working
> with gerrit (at least for me)
> 
> Person A has uploaded patch1
> I need patch1 to continue development and cherry pick it to my repo.
> Person A uploads new version of patch1
> I have finished my patch and push to gerrit. What then happens is that
> I have an older version of patch1 and thus overwrite the new version
> by Person A
> 
> Maybe there is some way already to do this, but I could not find
> anything when searching.

Have you tried using a pre-push hook? It looks like it is exactly what 
you need:

   pre-push
     This hook is called by git-push(1) and can be used to prevent a 
     push from taking place. The hook is called with two parameters 
     which provide the name and location of the destination remote, if a 
     named remote is not being used both values will be the same.

     Information about what is to be pushed is provided on the hook’s 
     standard input with lines of the form:

         <local ref> SP <local sha1> SP <remote ref> SP <remote sha1> LF

     For instance, if the command git push origin master:foreign were 
     run the hook would receive a line like the following:

         refs/heads/master 67890 refs/heads/foreign 12345

     although the full, 40-character SHA-1s would be supplied. If the 
     foreign ref does not yet exist the <remote SHA-1> will be 40 0. If 
     a ref is to be deleted, the <local ref> will be supplied as
     (delete) and the <local SHA-1> will be 40 0. If the local commit 
     was specified by something other than a name which could be 
     expanded (such as HEAD~, or a SHA-1) it will be supplied as it was 
     originally given.

     If this hook exits with a non-zero status, git push will abort 
     without pushing anything. Information about why the push is 
     rejected may be sent to the user by writing to standard error.

-- 
Regards,
Pratyush Yadav

  reply	other threads:[~2020-08-27 10:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-27  7:47 feature request - add --only-author option to git push Toni Brkic
2020-08-27 10:19 ` Pratyush Yadav [this message]
2020-08-27 11:39   ` Toni Brkic
2020-08-27 11:53     ` Pratyush Yadav
2020-08-27 13:32       ` Toni Brkic
2020-08-27 15:58         ` 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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200827101924.iklvsy6lnscrpojs@yadavpratyush.com \
    --to=me@yadavpratyush.com \
    --cc=brkict@gmail.com \
    --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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).