Yes, that makes sense and I believe a merge would actually work.  When I have 
time later I'll start over, run a git merge asf/master instead of a git rebase 
asf/master, fix conflicts again, submit a pull request, and it shouldn't have 
any conflicts this time.

-----Original Message-----
From: Sloane, Brandon <bslo...@owlcyberdefense.com> 
Sent: Monday, November 23, 2020 11:58 AM
To: dev@daffodil.apache.org
Subject: EXT: Re: Rebasing runtime2-2202 on asf/master

Since runtime2-2202 is such a long-lived branch, it might be worth considering 
a workflow where we merge master into it instead of rebasing onto master.

Once we are ready to actually put runtime2 into master, we can do a 
squash+rebase then.

________________________________
From: Interrante, John A (GE Research, US) <inter...@research.ge.com>
Sent: Monday, November 23, 2020 11:34 AM
To: dev@daffodil.apache.org <dev@daffodil.apache.org>
Subject: Rebasing runtime2-2202 on asf/master

Hi devs,

I've merged my pull request and landed the Daffodil C code generator on the 
"runtime2-2202" development branch.  I squashed my commits to one commit and 
merged my commit first before trying to rebase runtime2-2202 to get the latest 
changes in the main branch.  My thinking is that we'll have to continue 
building out the generator for some period of time before we merge 
runtime2-2202 into the main branch, so we'll have to figure out how to rebase 
asf/runtime2-2202 on asf/master and document the process anyway.  However, I've 
run into trouble with my initial approach and I want to ask for advice and 
suggestions before I try another approach.

I have a fork of the incubator-daffodil repository in my personal GitHub 
account (tuxji/incubator-daffodil).  In my clone of that fork, I have "origin" 
set to my fork and "asf" set to apache/incubator-daffodil.  I ran these 
commands (more or less) after merging my pull request:

$ git fetch -all  # pull down all the latest asf changes into my clone $ git 
switch runtime2-2202  # get latest asf/runtime2-2202 into my clone $ git switch 
-c ji/2202-rebase-1  # do my rebasing changes in a new branch $ git push origin 
ji/2202-rebase-1  # update my fork $ git rebase asf/master <edit and fix 
conflicts> $ git rebase -continue  # complete rebase $ git push origin 
ji/2202-rebase-1 # update my fork again <fix a compilation problem found later> 
$ git commit -a -no-edit -amend $ git push -force-with-lease

At this point I had updated my ji/2202-rebase-1 branch to rebase my original 
commit upon the latest asf/master and this is where I ran into trouble.  I 
thought I would create a pull request from my fork's ji/2202-rebase-1 branch to 
the apache repo's runtime2-2202 branch and it would show everyone exactly what 
the rebase had changed.  The funny thing is that GitHub says my branch has 
conflicts with the asf/runtime2-2202 branch:

                
https://github.com/apache/incubator-daffodil/compare/runtime2-2202...tuxji:ji/2202-rebase-1?expand=1

However, I'd already fixed all the conflicts in my branch, and GitHub says my 
branch has no conflicts with the asf/master branch:

                
https://github.com/apache/incubator-daffodil/compare/master...tuxji:ji/2202-rebase-1?expand=1

GitHub says I can create the pull request anyway, so should I still create the 
pull request as in the first link above or is there a better way?

John

Reply via email to