
On Wed, 19 Jul 2023 14:14:44 +0200, Dan Čermák wrote:
Hi Takashi,
Takashi Iwai <tiwai@suse.de> writes:
On Wed, 19 Jul 2023 11:28:12 +0200, Dan Čermák via openSUSE Factory wrote:
Dear packagers for openSUSE Tumbleweed,
we have been working on a prototype that allows you to maintain your packages in git (similarly to Fedora's dist git) on src.opensuse.org instead of on OBS. Contributions to the package are then handled via pull requests on src.opensuse.org which get automatically forwarded as submitrequests on OBS.
This is currently just a prototype and we are looking for testers and general feedback. So if you want to participate as a maintainer, please check the full guide here: https://opensuse.github.io/scm-staging/user_guide.html
tl;dr; you'll have to convert the develpackage to use `<scmsync>` from src.opensuse.org/pool and everything else should "just work".
This looks awesome, I'd love to give it a try.
But, maybe because I have no clear "big picture" yet, I don't see how it fits with the actual package development work. Usually, a package is branched to home:$user:branches:$develproj, patched there, built, tested, then finally submitted to $develproj (which goes eventually to FACTORY). With the git workflow, how does it change?
We are experimenting with a workflow that is less devel-project-centric. The currently anticipated workflow to contribute to $pkg looks as follows:
- you fork the package in src.opensuse.org/pool/$pkg - you implement your changes and submit a pull request against the repository in pool/$pkg - a bot will create a submission from a new project on OBS to openSUSE:Factory directly with your modifications - if the SR to Factory is accepted, then the bot will merge the pull request
The develproject is still there, it builds whatever is currently in src.opensuse.org/pool/$pkg (that should be however more or less exactly what is in Factory).
Hope this answers your questions,
Hmm. Before doing a PR, you'll need to build and test a package. And, that's done in OBS home:*:branches:* in the past. That is, the branched develproject itself was a test bench. So, what's not clear to me is, in the flow above:
1. you fork the package in src.opensuse.org/pool/$pkg 2a. you implement your changes 2b. and submit a pull request against the repository in pool/$pkg
between 2a and 2b, you need the package build and test. But how would it be done? thanks, Takashi