Skip to content

Intel developer staging area for unmerged upstream patch contributions to gstreamer monorepo

License

Notifications You must be signed in to change notification settings

intel/cartwheel-gstreamer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cartwheel : gstreamer

Intel developer staging area for upstream patch contributions to gstreamer monorepo.

The upstream project is tracked as a submodule in this repo.

upstream process

To improve upstream patch quality and reduce patchset rebase efforts, we use the following process

  1. Send PR1 to https://github.com/intel-media-ci/gstreamer, add module maintainers to Reviewers
  2. Got approval from one maintainer
  3. Wait for 1 more workday to see any objections. If it's an urgent issue, please ask another reviewer + 1 for you.
  4. Close PR1, and send it to the community, ping the community with some frequency if it's no response.
  5. If the community has no response in 4 weeks or it’s an urgent issue, send PR2 to https://github.com/intel/cartwheel-gstreamer
  6. Provide upstream patch link, ping maintainers for merging
  7. Ping community until the patch merged in upstream
  8. Send new PR to cartwheel to remove patches once they've merged in upstream

clone

$ git clone https://github.com/intel/cartwheel-gstreamer --recursive

apply patches

# 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

rebase

# at top-level directory
$ git pull --rebase --recurse-submodule

administrators

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).

additional information

For more information and examples about Git Submodules, see https://git-scm.com/book/en/v2/Git-Tools-Submodules

About

Intel developer staging area for unmerged upstream patch contributions to gstreamer monorepo

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published