Steps to raise review in CMF gerrit(Ex:meta-cmf-raspberrypi)

Step 1:  Sign in the CMF gerrit (https://code.rdkcentral.com/r/q/status:open) and Go to below link for repo selection,

https://code.rdkcentral.com/r/admin/repos  and enter the repo name (For example: meta-cmf-raspberrypi) in filter search box .

 It shown as like below, Once we entered the repo name in filter search box.



Step 2:  check the components/generic/rdk-oe/meta-cmf-raspberrypi repo in Repository Name column.

It shown as like below,


Step 3: Once we clicked the meta-cmf-raspberrypi  repo , It will re-direct to  https://code.rdkcentral.com/r/admin/repos/components/generic/rdk-oe/meta-cmf-raspberrypi (like below screenshot).

In this below screenshot, we are able to  see 2 options under Download,

  1. Clone with commit-msg hook  - This is used for cloning the project and  committing the code changes in CMF gerrit.
  2. Clone - This is used only for cloning the project.


So Committing the code changes, we need to select & copy the first option in above screenshot.

Step 4:  Run the git Clone with commit-msg hook command. By default, it taking as "master" branch. So please mention the branch name before you are executing the git clone with commit-msg command in terminal.

clone with Commit-msg
$ git clone "https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-cmf-raspberrypi" -b rdk-next && (cd "meta-cmf-raspberrypi" && gitdir=$(git rev-parse --git-dir); curl -o ${gitdir}/hooks/commit-msg https://code.rdkcentral.com/r/tools/hooks/commit-msg ; chmod +x ${gitdir}/hooks/commit-msg)
Cloning into 'meta-cmf-raspberrypi'...
remote: Counting objects: 151, done
remote: Total 10764 (delta 0), reused 10764 (delta 0)
Receiving objects: 100% (10764/10764), 2.58 MiB | 6.96 MiB/s, done.
Resolving deltas: 100% (4272/4272), done.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1792  100  1792    0     0   4876      0 --:--:-- --:--:-- --:--:--  4869
$ ls
meta-cmf-raspberrypi


Step 5: Using "git branch" command to verify the branch  name

$ git branch
* rdk-next



Step6: Add or modify the required files. Using "git status" command to verify the newly added or modified files(It shown as RED color in below screenshot).



Step 7: Add the Modified /New files to git by using "git add" command.

$ git add <path_of_file> 

For example,
 git add recipes-ccsp/util/utopia/system_defaults


Step 8:
 Using "git status" command to verify  the  current code changes(whether it added successfully or not). It shown as GREEN color in below screenshot


Step 9:   Commit the code changes by using "git commit -sv" command. It goes to nano editor once we entered the commit command.

Commit Format will be below,

Commit Format
<Project-Ticket-NO> : <summary of the ticket>
<blank line>
Reason for change: <add the reason why you are committing these changes>
Test Procedure: < Test steps>
Risks: <may be Low/Medium/High - based on your changes impact>

For Example,
REFPLTB-915 : Sometimes, WebUI login is failing in dunfell builds

Reason for change: Issue fixed
Test Procedure: Tested with local build
Risks: Low

To exit the nano editor prompt . Need to follow the below steps,

  • ctrl + x
  • shift + y
  • click the enter button

Then , check the status of your commit

Git Push
$ git status
On branch rdk-next
Your branch is ahead of 'origin/rdk-next' by 1 commit.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean

Step 10:  Push the code changes in CMF gerrit by using "git push " command.

Git Push
$ git push origin HEAD:refs/for/<branch-name>

For example,
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 16 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 640 bytes | 640.00 KiB/s, done.
Total 6 (delta 5), reused 0 (delta 0)
remote: Resolving deltas: 100% (5/5)
remote: Processing changes: refs: 1, new: 1, done    
remote: commit 99b6d76: warning: subject >50 characters; use shorter first paragraph
remote: 
remote: SUCCESS
remote: 
remote: New Changes:
remote:   https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi/+/51157 REFPLTB-915 : Sometimes, WebUI login is failing in dunfell builds
To https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-cmf-raspberrypi
 * [new branch]      HEAD -> refs/for/rdk-next


Step 11:  Click the link from git push  success status(remote: https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi/+/51157) to verify whether your code changes are successfully pushed or not in CMF gerrit.




Steps to Modify the committed code changes in gerrit

Approach 1 

                       If we have committed code changes repo folder in your local terminal then go for this approach.

Step 1 :  Go to the committed code changes repo folder path in your local terminal . Rework the code changes

Step 2 :  Using "git status" command to verify re-worked files(It shown as RED color in below screenshot).

Step 3: Add the Re-Worked files to git by using "git add" command.

$ git add <path_of_file> 

For example,
 git add recipes-ccsp/util/utopia/system_defaults


Step 4:
 Using "git status" command to verify  the  current code changes(whether it's successfully added or not). It shown as GREEN color in below screenshot


Step 5: Commit the changes by using below command,


$ git commit --amend


Step 6: Push the code changes to CMF Gerrit

$ git push origin HEAD:refs/for/<branch-name>

Step 7:  Follow the Step 11 in Steps to raise review in CMF gerrit.

Approach 2 

                 If we don't have the commited code changes repo folder in your local terminal then go for this approach,

Step 1 : Follow the same 4 steps in Steps to raise review in CMF gerrit.

Step 2:  Just go to  committed  code changes link in code.rdkcentral.com then click the EDIT option in right side of the UI page. Then select the "Download Patch" option from EDIT. It shown as below screenshot,

Step 3: Then click the cherry-pick option like below

Step 4 :  Run this cherry-pick command in cloned repo(step1),

cherry-pick
$ git fetch "https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-cmf-raspberrypi" refs/changes/57/51157/1 && git cherry-pick FETCH_HEAD

remote: Counting objects: 473, done
remote: Finding sources: 100% (6/6)
remote: Total 6 (delta 5), reused 6 (delta 5)
Unpacking objects: 100% (6/6), done.
From https://code.rdkcentral.com/r/components/generic/rdk-oe/meta-cmf-raspberrypi
 * branch            refs/changes/57/51157/1 -> FETCH_HEAD
[rdk-next 09912ac] REFPLTB-915 : Sometimes, WebUI login is failing in dunfell builds
 Date: Fri Jan 22 12:57:53 2021 +0000
 1 file changed, 1 insertion(+), 1 deletion(-)

Step 5 :  Using "git status" command to verify re-worked files(It shown as RED color in below screenshot).

Step 6: Add the Re-Worked files to git by using "git add" command.

$ git add <path_of_file> 

For example,
 git add recipes-ccsp/util/utopia/system_defaults


Step 7:
 Using "git status" command to verify  the  current code changes(whether it's successfully added or not). It shown as GREEN color in below screenshot


Step 8: Commit the changes by using below command,


$ git commit --amend


Step 9: Push the code changes to CMF Gerrit

$ git push origin HEAD:refs/for/<branch-name>

Step 10:  Follow the Step 11 in Steps to raise review in CMF gerrit.


Steps to raise review in github repositories

Step1: Forking the github repo from base repository

Login to the github account and search for the repository (For example, rdkcentral/meta-turris). Then fork the Base repository to create Head repository for the user



Once you click on fork, below screenshot will be received. Now from the 'code' button copy the URL

 


Step2: Clone the Head repository from github

$ git clone <github_url>
  Example,
  git clone https://github.com/KaviyaKumaresan/meta-turris.git
 
$ cd meta-turris


Step3: One approach is creating a temporary/topic branch for pushing the code

$ git checkout -b <topic_branch_name>
  Example,
  git checkout -b demo


Step4: Fetch all the updates into the topic branch to be in tip of Base repository

$ git remote add upstream https://github.com/rdkcentral/meta-turris
 
$ git remote -v
 
$ git fetch
 
$ git pull upstream master


Step5: Make changes in local github repository and can verify with "git status" command

$ git status 
 
On branch demo
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   recipes-rdkb/sysint-broadband/files/sysint-broadband.bbappend
no changes added to commit (use "git add" and/or "git commit -a")


Step6: Add required list of files where changes are done

$ git add <path_of_file_changes_done>
   
  Example,
  git add recipes-rdkb/sysint-broadband/sysint-broadband.bbappend


Step7: Give a commit message

$ git commit -sv


Step8:
Push the changes

$ git push origin <topic_branch_name>
  Example,
  git push origin demo


Need to type in Username(github handle) and Password(Github Access Token). NOTE: User need to create new Github Access token

Example,
Username for 'https://github.com': KaviyaKumaresan
Password for 'https://KaviyaKumaresan@github.com':
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 453 bytes | 0 bytes/s, done.
Total 5 (delta 4), reused 0 (delta 0)
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
remote:
remote: Create a pull request for 'demo' on GitHub by visiting:
remote: https://github.com/KaviyaKumaresan/meta-turris/pull/new/demo
remote:
To https://github.com/Kaviyakumaresan/meta-turris.git

Creating Pull Request

1. Once after pushing the commit into Head repository, visit the URL generated,

 Example,

 https://github.com/KaviyaKumaresan/meta-turris/pull/new/demo


With the link, you will find the below screenshot

Click on the 'Create pull request' to generate Pull Request.


Example, PR created,




  • No labels