HOW-TO:Create add-on PRs using Git Subtree Merging: Difference between revisions
m (Takoi moved page How to submit add-on and subsequent updates on Github to Submitting Add-on updates on Github: Martijn didn't like it:() |
|||
Line 2: | Line 2: | ||
== Guidelines == | == Guidelines == | ||
General [[Add-on rules]] apply. Additional rules when submitting PRs on Github: | |||
* PR should contain one commit only. | |||
* Commit message should have the format "[addonid] version". Example: "[my.cool.addon] 1.0.1" | |||
As with mailing list, only PRs from add-on author will be accepted. Patches should be submitted upstream. | |||
== Example git setup using Subtree merging == | == Example git setup using Subtree merging == |
Revision as of 10:44, 2 December 2014
Guidelines
General Add-on rules apply. Additional rules when submitting PRs on Github:
- PR should contain one commit only.
- Commit message should have the format "[addonid] version". Example: "[my.cool.addon] 1.0.1"
As with mailing list, only PRs from add-on author will be accepted. Patches should be submitted upstream.
Example git setup using Subtree merging
First time setup
Clone the XBMC addon repository:
git clone [email protected]:xbmc/repo-plugins.git cd repo-plugins
For this example we will use an addon named "myaddon". Add the git repo where you addon resides as a remote:
git remote add myaddon [email protected]:me/myaddon.git git fetch myaddon
Create a new branch for the addon:
git checkout -b myaddon_branch myaddon/master
The current directory should contain the files from the myaddon repository. To switch back to gotham branch of the "repo-plugins" repository:
git checkout gotham
Note: If your addon already exist in repo, it must first be removed with:
git rm -r plugin.my.addon/
Now we use subtree merge to pull myaddon into the gotham branch of repo-plugins:
git read-tree --prefix=plugin.my.addon/ -u myaddon_branch
To see the changes that are about to be committed:
git diff --staged
Finally, commit the changes:
git commit -m "[plugin.my.addon] 1.0.1" git push origin gotham
Updating addon to a new version
Updating the addon is now easy. For this example we pull the master branch from myaddon:
git checkout gotham git pull --strategy subtree --squash myaddon master git commit -m "[plugin.my.addon] 1.0.2" git push origin gotham
For more info about Subtree Merging see http://git-scm.com/book/en/v1/Git-Tools-Subtree-Merging