[apparmor] [administrivia] git conversion complete; gitlab projects set up

Christian Boltz apparmor at cboltz.de
Thu Nov 2 19:07:09 UTC 2017


Hello,

Am Mittwoch, 1. November 2017, 21:46:17 CET schrieb Tyler Hicks:
> On 11/01/2017 02:41 PM, Christian Boltz wrote:

> > Another question is if we want to continue sending patches to the
> > mailinglist, or if we'll switch over to using branches (prefixed
> > with the username, for example "cboltz-utils-foo") and then send
> > merge requests.
>
> What's the reason for the username prefix?

I should probably explain or just show the full workflow we use for 
managing the salt code ;-)

    git checkout -b cboltz-whatever  # create a new branch
    vi $whatever
    git add $whatever
    git commit
    git push  # fails because the branch doesn't have an origin set yet, 
              # but gives copy&paste-ready instructions with the correct 
              # push command
    git push --options-shown-above  # this prints a link for opening a
              # merge request
    # open the given link to create the merge request, and make sure to
    # enable the option to delete the source branch after merging to 
    # avoid having lots of superfluous branches around.

Note that we do all this in the *main repo* (for AppArmor, that would be 
gitlab.com/apparmor/apparmor), not in a user repo like 
gitlab.com/cboltz/apparmor.

That should also explain the reason for the username prefix in the branch 
name - it avoids naming conflicts. (If we decide to do all merge requests 
from gitlab.com/$user/apparmor, the name prefix is superfluous.)

Advantages of having those temporary branches in the main repo are:
- you don't need to refresh your $user repo regularly (by pulling from
  the gitlab.com/apparmor/apparmor repo), just run   git pull
- it's easy to checkout a branch someone created for review

The only disadvantage I see is that having everything as branches in the 
main repo might be a bit noisy, but that's not a real problem.
 
> I really enjoyed the web-based merge request workflow and think it can
> be an improvement over the mailing list patchset based flow. However,
> I'd strongly recommend that we require contributors to:
> 
> 1) Create a merge request
> 2) Receive feedback from maintainers
> 3) If changes are required, fold changes necessary to address feedback
> into the existing patches, rebase, and force push to their merge
> request branch.
> 
> #3 is necessary to avoid a bunch of fixup patches that shouldn't be
> standalone. It also makes for an bisect-able tree since there's no
> broken commits being merged (with separate fixup commits).

Agreed, force push makes sense in this case.

> > I also wonder how to handle the Acked-by messages in case we use
> > merge requests - while it's possible with git rebase + using the
> > "reword" keyword, it means we'll have to force-push to those
> > branches before merging them.
> 
> What the maintainer did for the GitHub contribution that I mentioned
> above was to merge my pull request into a local branch, interactive
> rebase to add his Signed-off-by, and then push the resulting branch to
> to the master branch on GitHub.

As Steve already mentioned, that sounds like lots of work.

IMHO having the Acked-by only in the merge commit would be enough, at 
least if it's the same for all patches/commits in the to-be-merged 
branch.

Things are more interesting[tm] if I ack the first 3 patches of a series, 
and you ack the other 4 - in this (probably rare) case, adjusting the 
commit messages might indeed make sense.


Regards,

Christian Boltz
-- 
sigmonster ist gassi...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20171102/e472cd6b/attachment.sig>


More information about the AppArmor mailing list