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-submoduleTo 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 4790a44d10273c5ebb87e5a41314a8aa8d6ffc4fFinally, 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