User Tools

Site Tools


agl-distro:contributing

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
agl-distro:contributing [2016/10/05 12:23]
dominig [Push changes for review to Gerrit]
agl-distro:contributing [2019/10/01 14:57]
vrubiolo Fix typos
Line 7: Line 7:
 We use Gerrit to track and review changes to AGL software (i.e. projects at [[https://​gerrit.automotivelinux.org/​gerrit/#/​admin/​projects/​|gerrit.automotivelinux.org]]). We use Gerrit to track and review changes to AGL software (i.e. projects at [[https://​gerrit.automotivelinux.org/​gerrit/#/​admin/​projects/​|gerrit.automotivelinux.org]]).
  
-<​del>​If you would like to contribute any changes you will need set up an account ​at [[https://dev.automotivelinux.org/?​q=user/​register|dev.automotivelinux.org]]</​del>​(deprecated,​ migration in progress)+Create ​an account ​on [[https://identity.linuxfoundation.org/|identity.linuxfoundation.org]] ​to get started.
  
-**Migration in progress: create an account ​on [[https://identity.linuxfoundation.org/|identity.linuxfoundation.org]] with same userid/​email.**+The initial setup for gerrit is described very well on the [[https://www.mediawiki.org/wiki/​Gerrit/​Tutorial|Gerrit Tutorial from mediawiki]] ​Just apply the steps likewise on git.automotivelinux.org .
  
 ---- ----
Line 22: Line 22:
   - [[https://​gerrit.automotivelinux.org/​gerrit/#/​admin/​projects/​src | src ]] - contains source code repositories where AGL is the upstream. This code is officially part of the AGL distribution.   - [[https://​gerrit.automotivelinux.org/​gerrit/#/​admin/​projects/​src | src ]] - contains source code repositories where AGL is the upstream. This code is officially part of the AGL distribution.
   - [[https://​gerrit.automotivelinux.org/​gerrit/#/​admin/​projects/​staging | staging]] - contains source code repositories where AGL developers can work on new features or components that can eventually be included in the AGL distribution. ​   - [[https://​gerrit.automotivelinux.org/​gerrit/#/​admin/​projects/​staging | staging]] - contains source code repositories where AGL developers can work on new features or components that can eventually be included in the AGL distribution. ​
 +
 +==== Git repository requests ====
  
 Developers may request a new project to be set up in the src or staging repository by submitting a [[https://​jira.automotivelinux.org | Jira ticket]]. Ticket type should be a "​Task"​ Developers may request a new project to be set up in the src or staging repository by submitting a [[https://​jira.automotivelinux.org | Jira ticket]]. Ticket type should be a "​Task"​
Line 33: Line 35:
 for the repo called "<​name>​-owners"​ . for the repo called "<​name>​-owners"​ .
  
-=== Access Control ===+==== Access Control ​====
  
 Access control to gerrit is defined in this [[https://​docs.google.com/​spreadsheets/​d/​1lA_B7LEwn_VyJy_JplRNe9AOKTRGAMtpJ66JHm-vJCM/​pubhtml?​gid=0&​single=true | google doc spreadsheet]]. ​ Access control to gerrit is defined in this [[https://​docs.google.com/​spreadsheets/​d/​1lA_B7LEwn_VyJy_JplRNe9AOKTRGAMtpJ66JHm-vJCM/​pubhtml?​gid=0&​single=true | google doc spreadsheet]]. ​
Line 91: Line 93:
   - **App Developer (AD)** - Someone who is developing applications to be used with AGL. The AD is assumed to need no knowledge of Yocto and relies on an SDK.    - **App Developer (AD)** - Someone who is developing applications to be used with AGL. The AD is assumed to need no knowledge of Yocto and relies on an SDK. 
   - **Registered Developer (RD)** - Someone who wants to contribute code to AGL but may not be affiliated with a subsystem   - **Registered Developer (RD)** - Someone who wants to contribute code to AGL but may not be affiliated with a subsystem
-  - <del> **Subsystem Developer (SD)** - Someone who actively develops code for a particular subsystem of AGL. The person can be a SD for one subsystem and Registered Developer for another Subsystem</​del>​ 
   - **Subsystem Maintainer (SM)** - A SM is the same as Subsystem Developer but with additional privileges that allow him to submit changes to the master branch, tracking branch, or a maintenance branch   - **Subsystem Maintainer (SM)** - A SM is the same as Subsystem Developer but with additional privileges that allow him to submit changes to the master branch, tracking branch, or a maintenance branch
   - **System Integrator (SI)**   - **System Integrator (SI)**
Line 105: Line 106:
     - AGL is using code back-ported from later versions of a new component or part of a component (e.g., MOST USB driver in mainline kernel tree)     - AGL is using code back-ported from later versions of a new component or part of a component (e.g., MOST USB driver in mainline kernel tree)
     - AGL is maintaining code out of the upstream tree which may or may not be accepted upstream (this should be rare since it implies a fork of the upstream code. Patches are preferable)     - AGL is maintaining code out of the upstream tree which may or may not be accepted upstream (this should be rare since it implies a fork of the upstream code. Patches are preferable)
 +
 +
 +===== Prepare to push changes in Gerrit =====
 +By default the repo tool will have cloned the git repos with http for fetch and ssh to push. 
 +   #cd meta-agl
 +   #git remote -v
 +       ​agl https://​gerrit.automotivelinux.org/​gerrit/​AGL/​meta-agl (fetch)
 +       ​agl ssh://​gerrit.automotivelinux.org:​29418/​AGL/​meta-agl (push)
 +
 +
 +If you want to use your ssh config, add your gerrit user accout to your ssh config file like:
 +   #cat ~/​.ssh/​config
 +     Host gerrit.automotivelinux.org
 +     User XXXMyNameXXX
 +
 +Note: you still need to enter you ssh public key in Gerrit. You can find a HowTo [[ https://​www.mediawiki.org/​wiki/​Gerrit/​Tutorial#​Set_Up_SSH_Keys_in_Gerrit | here ]]
 +
 +===== Push changes for review to Gerrit ====
 +Please sign you commit before you submit the change (otherwise it will not be accepted by gerrit):
 +   git commit --signoff
 +
 +  * Then either use plain git to push:
 +
 +   git push agl HEAD:​refs/​for/​master
 +   git push <​remote>​ HEAD:​refs/​for/<​targetbranch>​
 +
 +  * **Or** for more convenience,​ install "​git-review"​ and instead of git push use:
 +
 +   # first time only
 +   git review -s  ​
 +
 +   # then to push use
 +   git review
 +
 +Find more details in these guides:
 +
 +  * [[https://​gerrit.automotivelinux.org/​gerrit/​Documentation/​user-upload.html|official gerrit guide]]
 +  * [[https://​source.android.com/​source/​developing.html#​git-and-repo-cheatsheet|git and repo cheatsheet]]
 +  * [[https://​education.github.com/​git-cheat-sheet-education.pdf|git cheatsheet from github]]
 +  * [[https://​www.mediawiki.org/​wiki/​User:​Wctaiwan/​Gerrit_cheatsheet|Gerrit cheatsheet from mediawiki]]
 +  * [[https://​wiki.opendaylight.org/​view/​GIT_Cheat_Sheet|Git cheatsheet from opendaylight.org]]
 +  ​
 +===== Personal Sandbox Projects in Gerrit ====
 +
 +First time:
 +   ​meta-agl>​ git push gerrit testsandbox:​refs/​heads/​sandbox/​jsmoeller/​test
 +  Total 0 (delta 0), reused 0 (delta 0)
 +  remote: Processing changes: closed: 114, refs: 1, done    ​
 +  To ssh://​jsmoeller@gerrit.automotivelinux.org:​29418/​AGL/​meta-agl
 +   * [new branch] ​     testsandbox -> sandbox/​jsmoeller/​test''​
 +
 +Push to personal branch:
 +  git push gerrit testsandbox:​refs/​for/​sandbox/​jsmoeller/​test
 +  Counting objects: 2, Fertig.
 +  Delta compression using up to 8 threads.
 +  Compressing:​ 100% (2/2), Fertig.
 +  Writing objects: 100% (2/2), 327 bytes | 0 bytes/s, Fertig.
 +  Total 2 (delta 1), reused 0 (delta 0)
 +  remote: Resolving deltas: 100% (1/1)
 +  remote: Processing changes: new: 1, refs: 1, done    ​
 +  remote: ​
 +  remote: New Changes:
 +  remote: ​  ​https://​gerrit.automotivelinux.org/​gerrit/​5643 test1
 +  remote: ​
 +  To ssh://​jsmoeller@gerrit.automotivelinux.org:​29418/​AGL/​meta-agl
 +   * [new branch] ​     testsandbox -> refs/​for/​sandbox/​jsmoeller/​test
 +  ​
 +  ​
 +
 +
 +----
 +
 +----
  
 ==== Notes on Use Cases ==== ==== Notes on Use Cases ====
Line 166: Line 240:
   - As a RM I want to make patch releases to stable releases   - As a RM I want to make patch releases to stable releases
  
- 
-===== Prepare to push changes ni Gerrit ===== 
-By default the repo tool will have clone git repo with http. You need to change the git setting to use ssh. 
-From meta-agl directory, use the command: 
-   git remote set-url agl ssh://​YourGerritID@gerrit.automotivelinux.org:​29418/​AGL/​meta-agl 
-Then you need to enter you ssh public key in Gerrit. You can find a HowTo [[ https://​www.mediawiki.org/​wiki/​Gerrit/​Tutorial#​Set_Up_SSH_Keys_in_Gerrit | here ]] 
- 
-===== Push changes for review to Gerrit ==== 
-Please sign you commit before you submit the change (otherwise it will not be accepted by gerrit): 
-   git commit --signoff 
-Then push: 
-   git push agl HEAD:​refs/​for/​master 
-Find more details in the [[https://​gerrit.automotivelinux.org/​gerrit/​Documentation/​user-upload.html|official gerrit guide]] 
-  ​ 
-===== Personal Sandbox Projects in Gerrit ==== 
- 
-First time: 
-   ​meta-agl>​ git push gerrit testsandbox:​refs/​heads/​sandbox/​jsmoeller/​test 
-  Total 0 (delta 0), reused 0 (delta 0) 
-  remote: Processing changes: closed: 114, refs: 1, done    ​ 
-  To ssh://​jsmoeller@gerrit.automotivelinux.org:​29418/​AGL/​meta-agl 
-   * [new branch] ​     testsandbox -> sandbox/​jsmoeller/​test''​ 
- 
-Push to personal branch: 
-  git push gerrit testsandbox:​refs/​for/​sandbox/​jsmoeller/​test 
-  Counting objects: 2, Fertig. 
-  Delta compression using up to 8 threads. 
-  Compressing:​ 100% (2/2), Fertig. 
-  Writing objects: 100% (2/2), 327 bytes | 0 bytes/s, Fertig. 
-  Total 2 (delta 1), reused 0 (delta 0) 
-  remote: Resolving deltas: 100% (1/1) 
-  remote: Processing changes: new: 1, refs: 1, done    ​ 
-  remote: ​ 
-  remote: New Changes: 
-  remote: ​  ​https://​gerrit.automotivelinux.org/​gerrit/​5643 test1 
-  remote: ​ 
-  To ssh://​jsmoeller@gerrit.automotivelinux.org:​29418/​AGL/​meta-agl 
-   * [new branch] ​     testsandbox -> refs/​for/​sandbox/​jsmoeller/​test 
-  ​ 
-  ​ 
-  ​ 
agl-distro/contributing.txt ยท Last modified: 2020/07/10 21:02 by jsmoeller