Il mar 24 ott 2017, 18:44 Sijie Guo <guosi...@gmail.com> ha scritto: > Enrico, > > I had a comment in the way how you split the changes. If you split the > changes by features, do you really need create branches on main repo for > sending reviews? I don't see any updates to my comments though. >
I apologize Sijie, I will split the work as you are suggesting here https://github.com/apache/bookkeeper/pull/643 The goal is to make reviews simpler and be able to address comments easily > I would suggest us thinking carefully before using share branches, or at > least until we have scripts to automate this, doing this manually is going > to be a big pain for committers and hard to maintain as a whole community. > This is exactly the reason why I have not yet pushed anything to custom branche and I was waiting for opinions and/or approval. I think it is better to stick to natural pull request from private forks > Sijie > > On Oct 24, 2017 8:23 AM, "Enrico Olivelli" <eolive...@gmail.com> wrote: > > Sijie, Ivan and/or other PMC > > I would like to create branches on shared Apache repo in order to create > the chain of Pull Requests. > I think we should agree on a naming convention > > What about > issue-471-xxxxx > issue-471-yyyyy > issue-471-zzzzz > > where xxxxxx is a local name which describes better the intent of the > branch and 471 is the id of the master issue for the work, in this case > issue 471 (BP-14) > > I am maintaining the stack of pull requests on my private fork > https://github.com/eolivelli/bookkeeper/pulls > > I would like to move to the final solution as soon as possible, there are > already many comments from Sijie and Ivan and I am not very happy to lose > them by closing the Pull Requests > > I am happy that this case is helping us to draft the way of working for > future "big issues" on BookKeeper > > -- Enrico > > > > > 2017-10-21 9:39 GMT+02:00 Enrico Olivelli <eolive...@gmail.com>: > > > > > > > Il sab 21 ott 2017, 01:00 Ivan Kelly <iv...@apache.org> ha scritto: > > > >> Hey Enrico, > >> > >> I think we can do better than that stacked PR blog says. GH now allows > >> you to change the target of a PR which wasn't the case when that was > >> written. > > > > > > Good news! > > > > I think we could even start using branches in the main repo, > >> and delete them after we merge, and set the base of the pull request > >> to be the previous patch in the series. > >> > >> I've put up an example, and commands I used are here: > >> https://gist.github.com/ivankelly/bfe16c81156dc3be7123921f37a6274d > >> > >> Each PR can be reviewed individually. Any changes for a PR can be > >> pushed for that branch. If conflicts occur, you can rebase or merge to > >> fix it. In the later patches. > >> > >> When a patch is merged, any pull requests that depend on it can have > >> it's base changed to master, and then the branch can be deleted. > >> > >> It should be straightforward to add a script to do this to avoid the > >> typing. > >> > >> Something like. > >> dev/bk-stacked-pr.py -h foobar -n ivan/my-feature > >> > >> Where -h is the sha1 head of list of commits to create a pull request > >> for, and -n is the basename of the branches that will be created. > >> > >> Unfortunately this would only be possible for committers, but > >> something similar could be done with private forks, though the reviews > >> wouldn't be as visible. > >> > >> The base changing, branch cleanup can be done in bk-merge-pr.py. > >> > > > > Thank you I will try to use your examples. > > > > In order to use shared branches on apache repo I think that it would be > > very useful but only for this kind of big patches. > > Do we need some PMC formal consensus to start using such feature > branches? > > > > We must define naming conventions > > > > On such branches we should allow force push, maybe we are protecting only > > master and release branches, I will check this > > > > Next week I will continue adding new patches and maybe move to apache > repo > > if we have the approval. > > > > Enrico > > > > > >> -Ivan > >> > >> On Fri, Oct 20, 2017 at 8:19 AM, Enrico Olivelli <eolive...@gmail.com> > >> wrote: > >> > I have created a chain of stacked Pull Requests using my private fork > >> > (eolivelli/bookkeeper) > >> > > >> > https://github.com/eolivelli/bookkeeper/pulls > >> > > >> > https://github.com/eolivelli/bookkeeper/pull/2 part 1 > >> > https://github.com/eolivelli/bookkeeper/pull/3 part 2 > >> > https://github.com/eolivelli/bookkeeper/pull/4 part 3 > >> > > >> > Each Pull Request is against the previous one: > >> > > >> > Pros: > >> > - this makes it very simple to handle diffs visually and so to comment > >> on > >> > specific changes > >> > - when I change a line in PR1, simply I use "merge" (git checkout > >> > PR2-branch, git merge PR1-branch, git checkout PR3-branch, git merge > >> > PR3-branch) > >> > > >> > Cons: > >> > - the conversation will be hosted entirely on my GitHub fork, non on > the > >> > Apache one > >> > > >> > > >> > The alternative approach is to have separate Pull Requests on Apache > >> repo, > >> > like these > >> > > >> > https://github.com/apache/bookkeeper/pull/642 > >> > https://github.com/apache/bookkeeper/pull/643 > >> > > >> > Pros: > >> > - the conversation is on Apache stuff > >> > > >> > Cons: > >> > - the developer (me in this case) has to fix all the commits and > perform > >> > clean up in order to port changes in downstream pull requests to > >> upstream > >> > once > >> > > >> > > >> > > >> > I hope we can find a good way of working on this kind on "huge > changes" > >> and > >> > let "reviewers" and "contributors" do their work without wasting > >> precious > >> > time > >> > > >> > As a contributor in this case I prefer approach 1), because life is > >> really > >> > easy, maybe I am not a git guru and there is a better way to handle > >> > approach 2) > >> > > >> > There is a 1 and 1/2 approach, that is to do 1) but with branches on > >> Apache > >> > repo, but Ivan suggested to use private forks (and I agree with Ivan) > >> > > >> > Thank you all (expecially Sijie and Ivan) for you help and support, I > do > >> > not want to waste reviewers' time, It takes time and patience to > >> "really" > >> > review code > >> > > >> > Thoughts ? > >> > > >> > Enrico > >> > > >> > > >> > > >> > > >> > 2017-10-18 17:38 GMT+02:00 Ivan Kelly <iv...@apache.org>: > >> > > >> >> For branching, I would create the on your own personal fork. > >> >> > >> >> -Ivan > >> >> > >> >> On Wed, Oct 18, 2017 at 8:37 AM, Ivan Kelly <iv...@apache.org> > wrote: > >> >> > I had a quick look, I'll get to reviewing today (in bay area this > >> >> > week, so day is just starting), but looks great. > >> >> > > >> >> > -Ivan > >> >> > > >> >> > On Wed, Oct 18, 2017 at 8:31 AM, Enrico Olivelli < > >> eolive...@gmail.com> > >> >> wrote: > >> >> >> Hi, > >> >> >> I am trying to split the patch for BP-14 in multiple pieces > >> >> >> > >> >> >> This is the umbrella issue, I will link here all the Pull Requests > >> >> >> https://github.com/apache/bookkeeper/issues/471 > >> >> >> > >> >> >> I am actually in work-in-progress, I have covered metadata and > >> client > >> >> side > >> >> >> changes with the first 2 PRs. > >> >> >> > >> >> >> It will take some more days to create all of the PRs. > >> >> >> > >> >> >> In order to make it simpler to create stacked PRs it would be > >> better to > >> >> >> create branches and PRs not against the master but every PR is to > be > >> >> sent > >> >> >> against the previous one in the list, see [1] as Ivan suggested. > >> >> >> > >> >> >> I wounder if it would be better to use my own github repo or to > >> create > >> >> >> branches on Apache repo. > >> >> >> I see many projects are using branches directly on apache > >> repository, > >> >> for > >> >> >> instance Apache Maven. > >> >> >> I am not a fan of this because it would lead to some kind of > >> pollution > >> >> in > >> >> >> the primary repo. > >> >> >> > >> >> >> I will try to set up the whole thing in my repo and come back > maybe > >> >> with a > >> >> >> better approach. > >> >> >> > >> >> >> For me it is a real experiment I hope I am not creating too much > >> noise > >> >> >> > >> >> >> Cheers > >> >> >> Enrico > >> >> >> > >> >> >> [1] > >> >> >> https://graysonkoonce.com/stacked-pull-requests-keeping- > >> >> github-diffs-small/ > >> >> > >> > > -- > > > > > > -- Enrico Olivelli > > > -- -- Enrico Olivelli