Yes, definitely. On Thu, Nov 15, 2018 at 2:01 PM Casey Stella <ceste...@gmail.com> wrote:
> Can you at least rename your commits to have METRON-1834 prefixing them? > On Thu, Nov 15, 2018 at 15:19 Michael Miklavcic < > michael.miklav...@gmail.com> > wrote: > > > https://github.com/apache/metron/pull/1242 > > > > TL;DR > > I'd like to discuss the best option to merge METRON-1834 into master. I > > want to propose handling this like a feature branch and merging it as-is. > > --- > > > > I'm sure most folks' initial reaction will be some skepticism akin to > "have > > you tried turning it off again," as this was my initial reaction as well. > > It does not seem like this should be difficult. And I'm hoping that this > > may be some esoteric thing on my system, though I believe this is a real > > problem. A rather tedious explanation follows of what I've tried and the > > problems encountered along the way. What seemed like a really simple > > problem instead appears to be a bit much for Git to handle without > > requiring redoing merges and another full round of testing. I'd much > prefer > > to avoid that in this instance. > > > > This PR is ready to be merged into master. It's recent and very close to > > fully up to date in the branch. Latest master merges cleanly. There is an > > attribution to Casey Stella for the base point of this PR that I need to > > include when getting this into master. When I created my branch, I > > collapsed his initial set of commits into a single squashed commit on > > master at the time, and I started to work from there. Over time, I made a > > number of additional commits and merges from master. Now for the issues. > > > > Originally, my expectation was that I could have 2 commits - the original > > squashed commit from Casey along with all my additional commits (and the > > merges with master) right on top. Nice clean history on master. Turns > out, > > this doesn't work as cleanly as expected because a combination of the > > multiple merges and the need to keep the original commit with attribution > > to Casey's work. A normal git pull --squash works fine, as expected, but > we > > lose the base commit, and therefore the requisite attribution. Here are > > some other things I've tried, to no avail. > > > > 1. Git pull --squash after a merge with master. This will squash the > > entire tree back to the branch point. No good. > > 2. Git rebase -i master. Allows you to cleanly apply changes, but then > > it ends up having problems with a clean rebase and shows conflicts. I > > expect this is because of the merge history being necessary. > > 3. Checking out a branch from the base point squashed commit from > Casey, > > and attempt to apply my changes on top. Numerous methods for > > squashing/rebasing my changes on top applies nicely in the branch. But > > then > > it once again causes merge conflicts when I attempt to get this onto > > master. Things I attempted include: manually copying files, rebasing > > all my > > commits plus merges on top of the base commit, git merge --squash, > > intimidation. > > > > For one example of the result I'm talking about, this looks "good" but > it's > > missing a ton of recent commits because they get caught up in the rebase > > and get squashed in with my commit. When you attempt to merge this onto > > master, it is just plain wrong (see example below with merge conflicts). > > * 22c3b3bc 2018-11-15 | METRON-1834: Migrate Elasticsearch from > > TransportClient to new Java REST API (mmiklavc via mmiklavc) closes > > apache/metron#1242 (HEAD -> stella-es-base2) [mmiklavc] > > * 84232e90 2018-10-08 | METRON-1834: Elasticsearch rest client migration > > base work starting point for apache/metron#1242 (cstella via mmiklavc) > > [cstella] > > * 5bfc08c5 2018-10-08 | METRON-1792 Simplify Profile Definitions in > > Integration Tests (nickwallen) closes apache/metron#1211 [nickwallen] > > > > Here's 1 merge conflict (say what??) > > CONFLICT (rename/rename): Rename > > > > > "metron-interface/metron-config/src/app/rxjs-operators.ts"->"metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/ParserRunnerResults.java" > > in branch "HEAD" rename > > > > > "metron-interface/metron-config/src/app/rxjs-operators.ts"->"metron-platform/metron-elasticsearch/src/main/java/org/apache/metron/elasticsearch/utils/FieldMapping.java" > > in "stella-es-base2" > > > > If I attempt to use rebase on master instead of merge, it really seems to > > mess up the files. Again, another example where I have TODO's that are > most > > definitely removed by a commit in my branch and also do not exist in > > master. I'm not sure what's happening here, but I don't trust it. > > { > > //TODO: It shouldn't require an assertEventually() here as it > should > > be synchronous. > > // Before merging, please figure out why. > > TestUtils.assertEventually(() -> Assert.assertEquals(14, > > dao.getColumnMetadata(Collections.singletonList("snort")).size())); > > Map<String, FieldType> fieldTypes = > > dao.getColumnMetadata(Collections.singletonList("snort")); > > <<<<<<< HEAD > > Assert.assertEquals(32, fieldTypes.size()); > > Assert.assertEquals(FieldType.KEYWORD, > > fieldTypes.get("sig_generator")); > > ======= > > Assert.assertEquals(FieldType.INTEGER, > > fieldTypes.get("snort_field")); > > >>>>>>> METRON-1834: Elasticsearch rest client migration base work > starting > > point for apache/metron#1242 (cstella via mmiklavc) > > >