[RFC] GStreamer git repositories unification
tsaunier at gnome.org
Wed Nov 25 16:03:44 UTC 2020
GStreamer's developer community has been discussing the unification of our
git repositories for a while [on gitlab]. We have come up with [a first
and it is probably time for everyone using GStreamer to give it a spin and
[on gitlab]: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/474
[a first version]:
## What is it?
Merges all GStreamer modules into a single git repository:
* gstreamer (core)
The full git history of all those modules is merged into the existing
`gstreamer` git repo, every commit hash is preserved. The initial intention
only to merge the git repositories and keep producing separate release
Each GStreamer component can still be built on its own.
Note that only current master branches are being unified, stable branches
remain in their own repositories.
- Cross-repository changes are currently painful because multiple merge
need to be managed in various repositories. It is easier for developers
reviewers to have all the code in a single MR.
- Simplification of the CI infrastructure. No more manifest specifying which
branches in which user forks need to be pulled together. The CI can
and test a single branch. This also makes replicating a similar setup
downstream much simpler.
- Makes bisecting regressions much simpler. Once the unification point will
behind us, bisecting GStreamer will be a simple matter of running `git
without worrying about keeping multiple repositories in sync at each step.
- Simplifies the release process as it can be prepared in a single MR
bumping version and tagging each module separately.
- Makes easier to move files across modules, such as moving plugins from
-good or -ugly.
- Removes the need for a bug reporter to figure out against what repository
bug should be filed.
An extensive list of pros and cons can be found here:
## What does it mean for distributions?
Since release tarballs are preserved, nothing should change for packagers.
## What does it mean for contributors?
- The unified gstreamer repository will have the same layout as gst-build.
- All merge requests targeting master branch will have to be made against
main gstreamer repository.
- Existing merge requests on other repositories (e.g. gst-plugins-good) will
have to be resubmitted on the main repo. A simple cherry-pick usually
- All GitLab issues will be moved to the main repository.
We have prepared a [checklist] so you can see how we currently think about
making it happen. This is a Request For Comment for the broader community to
help us execute it as well as possible, so that initial plan may change.
Thibault Saunier, Igalia - www.igalia.com <http://www.centricular.com>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel