On Wed, Jul 19, 2017 at 9:35 PM, Mingmin Xu <[email protected]> wrote:
> Merge with conflict is not a good choice to me either as lots of files are
> impacted.
>
Yes, don't do this. You don't need to. I think reverting the merge commit
is a good idea, then you can start again on this process.
> @Kenn, one more question, what's the point by 'but use git merge', any
> difference from how it was processed in #3553?
>
In #3533 all of the commits from master were duplicated. The effect of
whatever rebase happened was to bulk cherrypick them onto the
github/pr/3553 branch, and then merge those new commits to DSL_SQL.
Specifically, it looks like something like this happened:
git checkout github/pr/3553
git rebase github/DSL_SQL
git push apache DSL_SQL
At this point, all of the commits from master that were in #3553 have been
copied to new, identical, commits that are based on the DSL_SQL branch.
Maybe the rebase was on something else but anything that is not already in
the history of github/pr/3553 will cause the same problem.
Instead do this:
git checkout github/DSL_SQL
git merge --no-ff github/pr/3553
git push apache DSL_SQL
This will not duplicate any commits.
I find it helpful to remember that rebase is basically bulk cherrypick. It
is sort of OK to rebase normal PRs because those commits are "dead" after
the commits have been cherrypicked to master. But these problems don't
occur if you don't use rebase or cherrypick.
I could be wrong about the exact sequence that led to the situation, but I
am pretty certain that reverting the merge commit and then doing a normal
merge will work.
Kenn
On Wed, Jul 19, 2017 at 7:05 PM, Kenneth Knowles <[email protected]>
> wrote:
>
> > Yes, merging by rebase doesn't work when you have two branches that
> > interact.
> >
> > I checked `git log github/DSL_SQL ^github/master` to understand what is
> > going on.
> >
> > Here are some ideas:
> >
> > I think your option (1) is fine, but you should revert and then replay
> > #3553 but use git merge. This will work because the duplicated commits
> that
> > get reverted are not the ones on master. Then you can do any updates you
> > need and propose the merge DSL_SQL -> master.
> >
> > Kenn
> >
> > On Wed, Jul 19, 2017 at 5:56 PM, Kai Jiang <[email protected]> wrote:
> >
> > > Or another option is solve merge conflict. This might not be the best
> > way.
> > > Because once master branch has some changes, we still need to do this
> > same
> > > way.
> > >
> > > I tried merge locally. We could solve conflict files and open PR for
> > that.
> > >
> > > conflict files are:
> > > both modified: examples/java/src/main/java/
> > > org/apache/beam/examples/common/WriteOneFilePerWindow.java
> > > both modified: examples/java8/src/main/java/
> org/apache/beam/examples/
> > > complete/game/utils/WriteToText.java
> > > both modified: runners/core-construction-
> > java/src/test/java/org/apache/
> > > beam/runners/core/construction/WriteFilesTranslationTest.java
> > > both modified: sdks/java/core/src/main/java/org/apache/beam/sdk/io/
> > > DefaultFilenamePolicy.java
> > > both modified: sdks/java/core/src/main/java/org/apache/beam/sdk/io/
> > > FileBasedSink.java
> > > both modified: sdks/java/core/src/main/java/
> > > org/apache/beam/sdk/io/TextIO.
> > > java
> > > both modified: sdks/java/core/src/main/java/org/apache/beam/sdk/io/
> > > WriteFiles.java
> > > both modified: sdks/java/core/src/main/java/
> > org/apache/beam/sdk/values/
> > > PCollectionViews.java
> > > both modified: sdks/java/core/src/test/java/org/apache/beam/sdk/io/
> > > AvroIOTest.java
> > > both modified: sdks/java/core/src/test/java/org/apache/beam/sdk/io/
> > > FileBasedSinkTest.java
> > > both modified: sdks/java/core/src/test/java/org/apache/beam/sdk/io/
> > > TextIOTest.java
> > > both modified: sdks/java/core/src/test/java/org/apache/beam/sdk/io/
> > > WriteFilesTest.java
> > > both modified: sdks/java/harness/src/main/java/org/apache/beam/fn/
> > > harness/control/ProcessBundleHandler.java
> > > both modified: sdks/java/harness/src/test/java/org/apache/beam/fn/
> > > harness/control/ProcessBundleHandlerTest.java
> > > deleted by us: sdks/java/harness/src/test/
> > java/org/apache/beam/runners/
> > > core/BoundedSourceRunnerTest.java
> > > both modified: sdks/java/io/google-cloud-platform/src/main/java/org/
> > > apache/beam/sdk/io/gcp/datastore/DatastoreV1.java
> > > both modified: sdks/java/io/google-cloud-platform/src/test/java/org/
> > > apache/beam/sdk/io/gcp/datastore/DatastoreV1Test.java
> > >
> > > On Wed, Jul 19, 2017 at 2:52 PM, Mingmin Xu <[email protected]>
> wrote:
> > >
> > > > Hi there,
> > > >
> > > > It seems branch DSL_SQL is broken after #3553
> > > > <https://github.com/apache/beam/pull/3553>, as I cannot create a PR
> to
> > > > master branch with error message '*Can’t automatically merge.*'.
> > > >
> > > > Googled and find two solutions:
> > > > 1. submit a revert PR with Git
> > > > https://stackoverflow.com/questions/2389361/undo-a-git-merge
> > > > -that-hasnt-been-pushed-yet/6217372#6217372
> > > >
> > > >
> > > > I follow this way and here are the steps: (need to adjust target for
> > real
> > > > case)
> > > > a. the revert PR https://github.com/XuMingmin/beam/pull/14;
> > > > b. branch which has applied PR in a)
> > > > https://github.com/XuMingmin/beam/tree/revert_3553_test;
> > > > c. Now I can create a PR from XuMingmin/beam/revert_3553_test to
> > > > apache/beam/master, see link
> > > > <https://github.com/apache/beam/compare/master...XuMingmin:
> > > > revert_3553_test?expand=1>
> > > > ;
> > > >
> > > > 2. reverting a pull request in Github
> > > > https://help.github.com/articles/reverting-a-pull-request/
> > > > This is a feature in Github, I cannot see the '*revert*' button maybe
> > > > because of permission.
> > > >
> > > > For both the two, I think #3553 need to redo in the end.
> > > >
> > > > Any suggestion which is the right way to go, or any other options?
> > > >
> > > > --
> > > > ----
> > > > Mingmin
> > > >
> > >
> >
>
>
>
> --
> ----
> Mingmin
>