Thank you all for raising all the questions and concerns.
Before I reply, I'd like to stress that we are still in a prototype phase - not everything is solved (clearly) and at this point, we experiment with the workflow mostly.
Luckily, force-pushes are not allowed in dist-git, which makes the update/sync process easier (knowing that history cannot be changed). Therefore when a new commit lands in dist-git, we'd just "transform" it to source-git and pushed it to the source-git repo. We could even ask all the contributors to rebase their PRs when this happens. On the other hand, when a new commit lands in the source-git repo, we could either transform and push to dist-git directly or open a PR. The maintainer should be in control of this process. I understand the synchronisation adds friction to the overall architecture and may be the cause of many problems in the future - hence we are starting this discussion and using the technology ourselves to catch these issues asap. Víťo, does this answer your question?
Miro, you are talking about conflicts: I'd say that conflicts on the git level are normal and git has solid tools to resolve them. For the use case of 2 different people changes the same thing, we would treat dist-git as the authoritative place and let the person in source-git know about the conflict. But this can happen nowadays easily as well: 2 different people can open the same PR or even push to dist-git directly while only one would succeed.
Petr, I should have probably stressed that our target is Fedora (or even all Red Hat operating systems). Yes, there are hundreds of distributions and we cannot solve their problems. We are open for collaboration though - we cannot drive changes in distributions which we don't know or use.
Tomas
On Tue, May 5, 2020 at 8:56 AM Petr Pisar ppisar@redhat.com wrote:
On Mon, May 04, 2020 at 05:05:02PM +0200, Tomas Tomecek wrote:
Over the years there have been multiple tools created to improve the development experience: rdopkg [r], rpkg-util [ru], tito [t] and probably much much more (e.g. the way Fedora kernel developers work on kernel [k]).
In the packit project, we work in source-git repositories. These are pretty much upstream repositories combined with Fedora downstream packaging files.
And then come another distribution with a request to combine its dist-git into the upstream. Fedora is not the only distribution. Do you know how many distributions exist? From my point of view as a upstream it's one big NO.
From point of view of a Fedora packager, it's just moving Fedora bits into another repository with the burden of synchronizing that repository with dist-git (and back because of what an authoritative source for Fedora is).
If you want to introduce an intermediary third repository between the upstream and the distribution, a repository that would normalize (read git-ify) the upstream and overlay downstream patches and metadata, then, ehm, it's a nice project for exploration how far we go with unification among the distributions. But I'm quite sceptical regarding it's adoption. But don't take my prognosis seriously. I can be mistaken. There are some positive prior arts like release-monitoring.org.
-- Petr _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org