Intel developer staging area for upstream patch contributions to gstreamer monorepo.
The upstream project is tracked as a submodule in this repo.
To improve upstream patch quality and reduce patchset rebase efforts, we use the following process
- Send PR1 to https://github.com/intel-media-ci/gstreamer, add module maintainers to Reviewers
- Got approval from one maintainer
- Wait for 1 more workday to see any objections. If it's an urgent issue, please ask another reviewer + 1 for you.
- Close PR1, and send it to the community, ping the community with some frequency if it's no response.
- If the community has no response in 4 weeks or it’s an urgent issue, send PR2 to https://github.com/intel/cartwheel-gstreamer
- Provide upstream patch link, ping maintainers for merging
- Ping community until the patch merged in upstream
- Send new PR to cartwheel to remove patches once they've merged in upstream
$ git clone https://github.com/intel/cartwheel-gstreamer --recursive
# at top-level directory
$ git submodule update --init --recursive
# at submodule directory
$ cd gstreamer
# It is recommended to create a branch before applying the patches
$ git checkout -b <my new branch>
$ git am ../patches/*.patch
# at top-level directory
$ git pull --rebase --recurse-submodule
To update the submodule reference commit id to the latest upstream:
NOTE: please make sure your working tree is clean and the latest before updating and committing the submodule.
# at top-level directory
$ git pull --rebase
$ git submodule update
$ git status
On branch main
Your branch is up to date with 'origin/main'.
nothing to commit, working tree clean
$ git submodule update --remote --recursive
$ git commit -sam "$(git diff --submodule | head -1 | sed 's/:$//')"
If done correctly, the commit message should look something like:
$ git show --oneline
68ac31fcc5fb (HEAD -> main, origin/main) Submodule gstreamer 5280f0b..4790a44
diff --git a/gstreamer b/gstreamer
index 5280f0b73362..4790a44d1027 160000
--- a/gstreamer
+++ b/gstreamer
@@ -1 +1 @@
-Subproject commit 5280f0b733625d553fa935252fc4036640f780c0
+Subproject commit 4790a44d10273c5ebb87e5a41314a8aa8d6ffc4f
Finally, verify the patches still apply successfully. If they don't apply, fix them and include in new commit(s).
For more information and examples about Git Submodules, see https://git-scm.com/book/en/v2/Git-Tools-Submodules