Hi N Ravi,

How familiar are you with Git?

In case you're not familiar, Git is a source control system for project(s) 
where there may be more than one person applying changes to codebase.

Please see the following link for getting to know Git.

        http://rogerdudler.github.io/git-guide/

Now that you know Git, you need to understand Gerrit. Gerrit is what we use for 
our review process. To properly enforce review policies, Gerrit must control 
all inputs (ie. commits) into our version control (aka codebase). When using 
Gerrit you will see that each commit gets another identification (ie. 
"ChangeID"). (If you've followed the instructions at wiki.iotivity.org, then 
you shouldn't have to worry about the ChangeIDs all too much at this point.) 
Therefore, it will not allow you push directly to the main repository that 
everyone else has cloned. It also enforces developers to "sign-off" their 
commits. It allows you to push to the codebase after it's been properly 
reviewed.

So, instead of using the "git push" command directly as shown in the link 
above, you will use the following Gerrit-managed way to do it (please note that 
example will only push to the "master" branch; please read up on Gerrit further 
if you're interested how branching works when using Gerrit):

        git push origin HEAD:refs/for/master

The above command will cause a changeset (identified by the Gerrit ChangeID and 
correlates with the Git commitID) to be created at gerrit.iotivity.org. From 
the web-based dashboard found at gerrit.iotivity.org, you will select your 
newly created changeset. The changeset will hold 1 patch set named "patchset 
1". The first creation & push to any changeset will always be "patchset 1". 
From here, people will review your "patchset 1", you will take their comments 
into consideration, use regular Git commands to amend your commit, and then 
re-push using the above 'Gerrit-Managed' way. This will create an addendum to 
your changeset called "patchset 2". This process may repeat itself as many 
times as it takes for all parties to be happy. Once all reviewers, yourself, 
the Continuous Integration System (AKA "Jenkins" in our use case -- a whole 
other topic), and the maintainer(s) are happy with your latest patchset of your 
changeset, the maintainer will mark your latest patchset with a "+2" and it 
will be cherry-picked (ie. for now, read this as 'pushed') in to the main 
repository. Anyone else can now pull down your changes! The cycle has completed 
itself.

Does this explanation answer your question? I wanted to make sure you 
understood the whole picture (ie. the difference between a Git Commit, Gerrit 
Changeset, and a Gerrit Patchset).

Please reply to this thread if you have any more questions.

Thanks,

Joey Morrow


-----Original Message-----
From: RAVI NANJUNDAPPA [mailto:nrav...@samsung.com] 
Sent: Monday, June 1, 2015 11:02 PM
To: Morrow, Joseph L; RAVI NANJUNDAPPA; iotivity-dev at lists.iotivity.org
Subject: Re: RE: [dev] Contribution to Iotivity

Hi Joey ,

Yes. I've gone through this wiki link and I've already done the necessary setup 
required for gerrit access.
Let me know which areas to look in for patches.

Thanks and Best Regards,
N Ravi
------- Original Message -------
Sender : Morrow, Joseph L<joseph.l.morrow at intel.com> Date : Jun 01, 2015 
19:34 (GMT+05:30) Title : RE: [dev] Contribution to Iotivity

Hello N Ravi,
Have you checked out our wiki article at the following link, yet?
https://wiki.iotivity.org/how_to_use_gerrit
Thanks & Good Luck! J
Joey Morrow
From: iotivity-dev-bounces at lists.iotivity.org 
[mailto:iotivity-dev-boun...@lists.iotivity.org] On Behalf Of RAVI NANJUNDAPPA
Sent: Monday, June 1, 2015 7:50 AM
To: iotivity-dev at lists.iotivity.org
Subject: [dev] Contribution to Iotivity

Hi All,

Am new to this IoTivity. 
I'd like to contribute some valuable patches to this community. 
Am reading the documentation available @ Iotivity.org and trying to understand 
the IoTivity on a high-level.
Any pointers on how to start with the contribution in terms of patches ? 

Thanks and Best Regards,
N Ravi

Reply via email to