Project

General

Profile

Actions

Bug #6011

closed

clean up situation with titan.ProtocolModules.BSSMAP_v11.2.0

Added by laforge about 1 year ago. Updated 6 months ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
Start date:
04/22/2023
Due date:
% Done:

0%

Spec Reference:

Description

The first odd part is that we have this repoistory in gerrit, whcih is wrong. I'm not sure if we can remove it from gerrit somehow. If we can, we should.

The second odd part is that we are changing the whitespace/formatting of upstream projects, see

commit 0558f524ba0f24c94112a19d8cd822063207431b
Author: Pau Espin Pedrol <pespin@sysmocom.de>
Date:   Thu Apr 15 13:47:06 2021 +0200

    BSSAP_Types.ttcn: Fix trailing whitespace

    Change-Id: Idb4a329c56068d45299fbebd2b077d27255bb317

All this leads to, IMHO, is potential clashes/merge problems when both upstream and our code change. So let's avoid trying to change upstreams coding style.

We have one patch (osmux related) which doesn't make sense in upstream. So this means we keep a fork of upstream (on gitea.osmocom.org or github.eclipse.org) with that patch.

I just submitted a merge request containing VGCS/VBS related updates, see https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.BSSMAP_v11.2.0/-/merge_requests/3

So once that is merged, please rebase the OSMUX patch on the (then) upstream, and drop the whitespace patch. Last, but not least, the reference in our deps/Makefile should be updated.


Checklist

  • remove (or hide) this upstream repo from our osmocom gerrit
  • wait for / remind upstream to merge vgcs patch
  • rebase osmux on top of that
  • push osmux to branch on gitea.osmocom.org or gitlab.eclipse.org
  • update reference in deps/Makefile
Actions #1

Updated by pespin almost 1 year ago

  • Status changed from New to Feedback

laforge wrote:

The first odd part is that we have this repoistory in gerrit, whcih is wrong. I'm not sure if we can remove it from gerrit somehow. If we can, we should.

1- We have to keep our own fork in order to have the Osmux patches.
2- Github doesn't make sense since the upstream is in gitlab.eclipse.org anyway.
3- We can move it to our gitea if you want, but I'm not sure what do we win with doing that move (I probably created it in gerrit due to review being better?)

The second odd part is that we are changing the whitespace/formatting of upstream projects, see
[...]

All this leads to, IMHO, is potential clashes/merge problems when both upstream and our code change. So let's avoid trying to change upstreams coding style.

This formatting change has already been merged upstream a while ago, I submitted it in the same PR as "BSSAP_Types.ttcn: Add missing IEs for CommonID" commit, so it shouldn't be a problem.

We have one patch (osmux related) which doesn't make sense in upstream. So this means we keep a fork of upstream (on gitea.osmocom.org or github.eclipse.org) with that patch.

ACK, that would be gitea or gerrit as per my previous comment.

I just submitted a merge request containing VGCS/VBS related updates, see https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.BSSMAP_v11.2.0/-/merge_requests/3

So once that is merged, please rebase the OSMUX patch on the (then) upstream, and drop the whitespace patch. Last, but not least, the reference in our deps/Makefile should be updated.

ACK, I will do the rebase once that patch is merged. I'm personally fine with keeping our fork in gerrit, but I'm also fine changing it to gitea if you think it's better, just tell me.

Actions #2

Updated by laforge 12 months ago

  • Status changed from Feedback to New
  • Priority changed from Normal to High

IMHO the best way would be to have the fork on gitlab.eclipse.org. This is where anyone else interested in titan / ttcn3 will easily find it, and this is where we can create PR for those current and/or future patches.

This was the idea of the gihub.com/osmocom/titan.* repositories. We could all push our branches there, and create PR.

The problem is, that on gitlab.eclipse.org, we (as a non-eclipse member) cannot create groups or organizations (like "osmocom") and hence only individual developer accounts exist. This makes it hard to keep "group maintained forks" like ours close to the upstream :(

As a workaround, we could now create an "osmocom" user and add all our ssh keys to it, so we can all push to repositories of that user. Not great, either.

So the fall-back is to go anywhere else, and that would be gitea. Gerrit should really only be used for stuff we maintain ourselves, i.e. official osmocom projects.

Actions #3

Updated by laforge 12 months ago

  • Checklist item wait for / remind upstream to merge vgcs patch set to Done
Actions #4

Updated by laforge 12 months ago

upstream has merged my recent patch, so please make sure to rebase on top of master of https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.BSSMAP_v11.2.0

Actions #5

Updated by pespin 12 months ago

For now I updated and rebased our "master" branch in our gerrit remote, so that it is now upstream master + our osmux patch.
I also updated osmo-ttcn3-hacks.git/deps/Makefile to refer to the new commit hash of the new "master" branch in our gerrit remote.
This way we already have available the new VGCS messages and jolly should be able to use them.

Next step is to switch from osmocom's gerrit -> gitea for this repository:

Once the gitea fork is updated, we can merge this one:
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32601 deps/Makefile: Change remote gerrit->gitea for titan.ProtocolModules.BSSMAP

Actions #6

Updated by pespin 12 months ago

  • Status changed from New to Feedback
  • Assignee changed from pespin to laforge

I think I will be able to remove the BSSMAP repository in gerrit myself when we are fulled moved to using the gitea one, by using:
https://gerrit.osmocom.org/admin/repos/titan.ProtocolModules.BSSMAP,commands and in there pressing button "Delete Project".

Whoever, I'm wondering what's the expected workflow to add new patches (not for upstream, or WIP to be merged in upstream) in gitea. Ideally we'd want to push to master whatever we see it's new in upstream, but I'm currently unable to push stuff in there due to lack of permissions. Only way I have to push stuff there to master is to submit patches to gerrit, get them merged in gerrit UI and then let the mirroring happen.
So laforge please provide feedback on your expected workflow there, I probably ended up creating gerrit repo at a time to circumvent the scenario I'm describing.

Actions #7

Updated by pespin 12 months ago

I merged https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32601 since I verified the gitea repo was already synched with the updated gerrit repository.

Keep it assigned to laforge for him to provide feedback on the desired workflow when changes are to be made to our titan.ProtocolModules.BSSMAP fork.

Actions #8

Updated by laforge 12 months ago

  • Status changed from Feedback to In Progress
  • Assignee changed from laforge to pespin

pespin wrote in #note-6:

I think I will be able to remove the BSSMAP repository in gerrit myself when we are fulled moved to using the gitea one, by using:
https://gerrit.osmocom.org/admin/repos/titan.ProtocolModules.BSSMAP,commands and in there pressing button "Delete Project".

possibly. There's also a delete-project command available via ssh.

Whoever, I'm wondering what's the expected workflow to add new patches (not for upstream, or WIP to be merged in upstream) in gitea. Ideally we'd want to push to master whatever we see it's new in upstream, but I'm currently unable to push stuff in there due to lack of permissions.

This is likely due to the situation that it was created as a pure mirror.

So laforge please provide feedback on your expected workflow there,

There is no real workflow expectation. In the past, we simply pushed fixes to an osmocom fork (wherever it might be) and then sent PR upstream.

If you want, you can follow the gitea PR model, if you think the kind of changes are more than just obvious fixes or simple additions. However, without manually adding reviewers, I doubt many people would notice.

I probably ended up creating gerrit repo at a time to circumvent the scenario I'm describing.

I doubt it. The gitea repository was most likely created at the time when all of the cgit+gitolite repositories (mirroring gerrit) were migrated over. All of those mirrors had to be manually created at any time in the past and still today.

I've added you to the "owner" role of the gitea repo, this should allow you to change it from a mirror?

Actions #9

Updated by pespin 11 months ago

  • Assignee changed from pespin to laforge

Just to clarify again: in this repository, we have 1 extra patch which will never be merged in upstream and always need to be kept on top of upstream master (osmux related patch).

laforge so iiuc you suggest that when there's new patches upstream, we use the PR system of gitea to submit and get them merged in our fork? That IMHO doesn't sound like a good idea, given that we have our own patch (not for upstream) on top of upstream's master. Doing (as I understand) you suggested, would mean we would be merging using the gitea UI new upstream commits on top of our patch.

I think the desired way here is to have our patch (force-)rebased on top of newest upstream all the time, to have a clean upstream history with our changes always on top.
And for that, I'd have to be able to push to the master branch of gitea directly (force push), which afaik I can't do.

So, getting rid of gerrit I see 2 options here:
1- Always use the gitea UI PR (messy history)
2- Being able to force push to the master branch in gitea repo

Between 1 and 2, I'd go for "2". I expect now that I am an owner of the repo that I should be able to tweak the repo config to be able to change permissions to push to the master branch?

Let me know your preference here laforge .

Actions #10

Updated by laforge 6 months ago

  • Status changed from In Progress to Stalled
  • Assignee changed from laforge to pespin
Actions #11

Updated by pespin 6 months ago

  • Status changed from Stalled to Feedback

I took the forward back as "do option 2".

  • I converted gitea repository (pull mirror) to a regular repo with "Convert to Regular Repository" GUI button.
  • Deleted gerrit repo.
  • I rearranged the branches in gitea repo:
    • Updated new master to follow upstream master
    • Created a new osmocom/master which hill be rebased on top of master and contain our extra patches, and which will be used by osmo-ttcn3-hacks.git
    • Kept old master hashtag (used in osmo-ttcn3-hacks) as a branch "pespin/master-old" until following patch is merged:
      https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34823 Makefile: Update titan.ProtocolModules.BSSMAP to new osmocom/master branch

Once the patch above is merged, I can delete the pespin/master-old branch and be done with it.

Actions #12

Updated by pespin 6 months ago

  • Checklist item remove (or hide) this upstream repo from our osmocom gerrit set to Done
  • Checklist item rebase osmux on top of that set to Done
  • Checklist item push osmux to branch on gitea.osmocom.org or gitlab.eclipse.org set to Done
  • Checklist item update reference in deps/Makefile set to Done
Actions #13

Updated by pespin 6 months ago

  • Status changed from Feedback to Resolved

Merged, closing.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)