[Pkg-samba-maint] Q: merging mjt-4.16 to master

Michael Tokarev mjt at tls.msk.ru
Thu Mar 31 12:13:52 BST 2022


Hi!

During all development in mjt-4.16 branch, I did quite
some rebasing and history rewriting (it happens when,
for example, I delete a file thinking it's a good way
to go, but later realize the original file was actually
necessary - like heimdal-rfc3454.txt patch which I
originally removed since the file it were patching does
not exist, but later I found that file has been moved
to a different directory, so that the patch touching
it need not be removed but paths adjusted.

And due to these my actions, we now have and interesting
situation in the samba git repository.  Namely, one commit
on master is different from similar commit on mjt-4.16.

7433a79ace1a6fbf2983defb975e6435affab0a0 is the common
ancestor, this is a merge of upstream 4.16.0 sources.
Next, master goes like this:

commit 7944e0d9e440a7530f57b2d112a09360a4429f7a
Author: Michael Tokarev <mjt at tls.msk.ru>
Date:   Thu Mar 24 13:34:13 2022 +0300

     refresh patches (reduce context in ctdb.conf), comment out add-so-version-to-private-libraries for now


this change includes _removal_ of the mentioned
heimdal-rfc3454.txt patch.  While mjt-4.16 branch
has these commits instead:

commit 08db2646f55d22292f76061d7319c598f1b2087b
Author: Michael Tokarev <mjt at tls.msk.ru>
Date:   Thu Mar 24 13:34:13 2022 +0300

     refresh patches (reduce context in ctdb.conf), comment out add-so-version-to-private-libraries for now

commit 75d71a451b43fd610498ef53f285e20f7fcd276f
Author: Michael Tokarev <mjt at tls.msk.ru>
Date:   Thu Mar 24 13:55:25 2022 +0300

     d/changelog: start of 4.16


and here, 08db2646f5 does *not* include removal of
heimdal-rfc3454.txt, there, it just changes the
paths where it applies to.

Now, we have 3 options.

1. I can revert 7944e0d9e44 on master (as a new
  commit) and rebase/apply mjt-4.16 branch on top
  of that revert. This is kind of ugly but should
  work, - hopefully I'll manage to rebase mjt-4.16
  correctly. The bonus is that this way we keep
  the master branch as it is now.

2. I can force-push mjt-4.16 to master, rewriting
  2 topmost commits in there to the version of these
  commits which are on mjt-4.16 branch. This makes
  the development history in a very good state, but
  it requires rewriting master branch (with unprotect-
  protect cycle on salsa) with some force. This also
  requires minimum amount of work.

3. I can merge mjt-4.16 into master with a separate
  merge commit, and work out the conflicts with the
  already mentioned heimdal-rfc3454.txt patch

The question is which path to choose.  I for one
prefer 2 because it makes history to be in the
best shape, everything is being clean and stright,
but I'd love to hear opinions from others, -
rewriting history on main branch might not be
tolerated, and this is understandable.

Which way do you prefer?

Thanks,

/mjt



More information about the Pkg-samba-maint mailing list