Cedric, This openstack document describes the normal dev workflow. The Merge section in the document is related to what Gerrit does when a patchset is +2. In this thread, we’re talking about the ability to submit a merge request to Gerrit (so this is before +2 is done). The notion of branch merge to a release branch is part of the release model, meaning how do you move content from a non release branch (e.g. master) to a release branch. As of today the only way to do this from master to a stable branch is by cherry-picking. I think we should allow merges to be submitted to gerrit. Those merge requests can of course be approved or rejected by committers – same as normal patchsets.
Here is a diagram that shows the difference between a cherry-pick and a merge from master to a release branch: [cid:image001.png@01D348AB.C02DA260] With todays gerrit settings we can’t do merges because we cannot even submit them for gerrit reviews, we can only do cherry picking. I have currently ~40 commits sitting on master than I want to get into stable/euphrates. Only option for me is to do a rebase + squash. What I am losing (vs. a merge) is the arrow between my current tip of master and what will become the opnfv-5.0.0 commit. So if somebody looks at the git log later (say in a year) it won’t be obvious at all that this release commit has all the content of master up to the current tip because git will not represent that link. Is it going to jeopardize my euphrates release content? No. But as a maintainer it would have been really helpful to keep that formal link in the repo. This could be enabled very easily – only one place to change in the All-Projects config of gerrit. But it looks like it will take time to get this approved. For XCI, merging between branches will be inevitable to prevent multiplication of identical commits across branches. Regards, Alec From: Cedric OLLIVIER <ollivier.ced...@gmail.com> Date: Wednesday, October 18, 2017 at 11:09 PM To: "Yujun Zhang (ZTE)" <zhangyujun+...@gmail.com> Cc: Trevor Bramwell <tbramw...@linuxfoundation.org>, "Alec Hothan (ahothan)" <ahot...@cisco.com>, "opnfv-tech-discuss@lists.opnfv.org" <opnfv-tech-discuss@lists.opnfv.org> Subject: Re: [opnfv-tech-discuss] [releng] How to merge master to euphrates with gerrit Hello, I would advice the offical OpenStack documentation about this topic: https://docs.openstack.org/infra/manual/developers.html Cédric 2017-10-19 4:23 GMT+02:00 Yujun Zhang (ZTE) <zhangyujun+...@gmail.com<mailto:zhangyujun+...@gmail.com>>: This could do the trick but I don't quite recommend it. There would be some commits on master you do NOT want to include in stable branches. I suggest to pick commits carefully after inspection and do the cherrypick one by one on gerrit. It will keep a record of which patch sets have been cherry-picked in review history (not just git log). If you have too many patch sets to be cherrypicked. Something may have gone wrong. By the time we created stable branch, it should be considered as a stable branch and not expecting too many changes, except for bug fix and document amending. My 2 cents. On Thu, Oct 19, 2017 at 6:04 AM Trevor Bramwell <tbramw...@linuxfoundation.org<mailto:tbramw...@linuxfoundation.org>> wrote: Hey Alec, Here's a quick way to cherry-pick these all over to the stable/euphrates branch. Though you'll still need to submit them all through Gerrit: git checkout euphrates git cherry -v stable/euphrates master | cut -d' ' -f2 | xargs -I{} git cherry-pick -x '{}' 'git review' will ask you to confirm you want to upload multiple patchsets. A 'yes' should put all of them up for review. Regards, Trevor Bramwell On Wed, Oct 18, 2017 at 08:14:59PM +0000, Alec Hothan (ahothan) wrote: > I have many commits in master which I’d like to merge to > stable/euphrates. > Would like to check if anybody knows how to merge master into a release > branch using gerrit? > Looks like I may need the permission to upload merges with Gerrit. > > Here is what I did: > > $ git fetch origin stable/euphrates:euphrates > $ git checkout euphrates > > $ git merge master –no-ff > > # at this point, so far so good, I got all my commits into my euphrates > branch > > # git review fails due to permission: > > $ git review > Warning: Permanently added > '[gerrit.opnfv.org]:29418,[198.145.29.81]:29418' (RSA) to the list of known > hosts. > remote: Processing changes: refs: 1, done > To ssh://gerrit.opnfv.org:29418/nfvbench.git > ! [remote rejected] HEAD -> refs/publish/master/euphrates (you are not > allowed to upload merges) > error: failed to push some refs to > 'ssh://ahot...@gerrit.opnfv.org:29418/nfvbench.git' > > > Is there a different way to achieve this? > I do not want to cherry pick my commits as I have too many of them. > > Thanks > > Alec > > _______________________________________________ > opnfv-tech-discuss mailing list > opnfv-tech-discuss@lists.opnfv.org<mailto:opnfv-tech-discuss@lists.opnfv.org> > https://lists.opnfv.org/mailman/listinfo/opnfv-tech-discuss _______________________________________________ opnfv-tech-discuss mailing list opnfv-tech-discuss@lists.opnfv.org<mailto:opnfv-tech-discuss@lists.opnfv.org> https://lists.opnfv.org/mailman/listinfo/opnfv-tech-discuss -- Yujun Zhang _______________________________________________ opnfv-tech-discuss mailing list opnfv-tech-discuss@lists.opnfv.org<mailto:opnfv-tech-discuss@lists.opnfv.org> https://lists.opnfv.org/mailman/listinfo/opnfv-tech-discuss
_______________________________________________ opnfv-tech-discuss mailing list opnfv-tech-discuss@lists.opnfv.org https://lists.opnfv.org/mailman/listinfo/opnfv-tech-discuss