Re: [RFC] push: add documentation on push v2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 18, 2018 at 7:13 PM Brandon Williams <bmwill@xxxxxxxxxx> wrote:
> > > > What I've got now is a rough design for a more flexible push, more
> > > > flexible because it allows for the server to do what it wants with the
> > > > refs that are pushed and has the ability to communicate back what was
> > > > done to the client.  The main motivation for this is to work around
> > > > issues when working with Gerrit and other code-review systems where you
> > > > need to have Change-Ids in the commit messages (now the server can just
> > > > insert them for you and send back new commits) and you need to push to
> > > > magic refs to get around various limitations (now a Gerrit server should
> > > > be able to communicate that pushing to 'master' doesn't update master
> > > > but instead creates a refs/changes/<id> ref).
> > > Well Gerrit is our main motivation, but this allows for other workflows as well.
> > > For example Facebook uses hg internally and they have a
> > > "rebase-on-the-server-after-push" workflow IIRC as pushing to a single repo
> > > brings up quite some contention. The protocol outlined below would allow
> > > for such a workflow as well? (This might be an easier sell to the Git
> > > community as most are not quite familiar with Gerrit)
> >
> > I'm also curious how this "change commits on push" would be helpful to other
> > scenarios.
> >
> > Since I'm not familiar with Gerrit: what is preventing you from having a
> > commit hook that inserts (or requests) a Change-Id when not present? How can
> > the server identify the Change-Id automatically when it isn't present?
>
> Right now all Gerrit users have a commit hook installed which inserts
> the Change-Id.  The issue is that if you push to gerrit and you don't
> have Change-ids, the push fails and you're prompted to blindly run a
> command to install the commit-hook.  So if we could just have the server
> handle this completely then the users of gerrit wouldn't ever need to
> have a hook installed in the first place.

I don't trust the server side to rewrite commits for me. And this is
basically rewriting history (e.g. I can push multiple commits to
gerrit if I remember correctly; if they all don't have change-id, then
the history must be rewritten for change-id to be inserted). Don't we
already have "plans" to push config from server to client? There's
also talk about configuring hooks with config file. These should make
it possible to deal with change-id generation with minimum manual
intervention.
-- 
Duy



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux