One option is to work on the throw-away combined branch as above, keep your commits for the two topics distinct, then cherry-pick out into the separate topic branches.
If you are committing in the topics and respinning the throw-away branch, I would recommend rerere, so you don't have to repeat conflict resolution. https://git-scm.com/docs/git-rerere On Sat, Apr 17, 2021, at 5:02 PM, Jacob Faibussowitsch wrote: > I have done this maybe only a handful of times (and not with petsc) but take > a look at git worktree https://git-scm.com/docs/git-worktree > > The basics of it is: > > 1. cd $PETSC_DIR — or wherever the root folder of your repo of choice is > 2. git worktree add ../myBranchName > > Then this recreates the entire src tree of the current branch in a separate > directory (namely $PETSC_DIR/../myBranchName). Not sure how useful it is for > petsc, given how dependent everything is on $PETSC_DIR but it's occasionally > useful. Its as if you had 2 separate clones of petsc, but they both share the > same .git folder (I think). > > Best regards, > > Jacob Faibussowitsch > (Jacob Fai - booss - oh - vitch) > >> On Apr 17, 2021, at 17:24, Barry Smith <bsm...@petsc.dev> wrote: >> >> >> Say I have a project (a code whose source is not in the PETSc repository) >> that requires code from two PETSc branches (that may or may not yet be MR) >> but I do not want to make a single PETSc branch (since it would be >> incoherent). I may possibly be needing to add code to both of the PETSc >> branches as I develop the project. I also need to do development sometimes >> on different machines. >> >> I can do >> >> git checkout branch1 >> git checkout -b combinedbranch >> git merge branch2 >> configure >> make >> use for a while >> >> but now I need to fix or add something to branch1 (which, of course, will be >> an iterative process as I write the code and fix it) and then add something >> in branch2. >> >> Doing the above procedure over and over again is tedious and prone to >> produce errors, editing in the wrong branch etc. >> >> Does anyone have advice on good work flows for this situation? >> >> Barry