[ 
https://issues.apache.org/jira/browse/HBASE-4593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14063018#comment-14063018
 ] 

Misty Stanley-Jones commented on HBASE-4593:
--------------------------------------------

It has been a few years. Do we have any consensus on this? Here is what I have 
learned so far (lots by trial and error):

Code Conventions:
* Spaces, not tabs -- 2 spaces per indentation
* 100-character line length
* Opening brackets NOT on a newline: 
{code}
public RegionException() {
  super();
}
{code}
* I think there are some rules that if you introduce code you are supposed to 
introduce tests, and there is some check for @author tags or something. Maybe 
someone can clue me in.


Workflow (non-committer):
* Assign JIRA to self
* Create a new git branch from master: git checkout -b HBASE-XXXX
* Do all work for the issue. Test that you didn't break anything by running 
"mvn clean install -Dskiptests" or, in the case of documentation or website 
changes "mvn clean site -Dskiptests"
* Before making a patch, make sure to rebase and resolve any conflicts: git 
rebase origin/master
* Save your changes to a patch: git diff --no-prefix origin/master > 
HBASE-XXXX.patch
* Attach patch file to JIRA, along with supplemental files such as images / 
screenshots.
* Click Submit Patch, wait for review.
* If more revisions need to be made, make them in your branch and make a new 
patch against origin/master called HBASE-XXXX-<revision>.patch, attach it to 
the JIRA too.
* Commit messages don't seem to matter for a non-committer

Workflow (committer):
[~stack] or other, please fill in the blanks here, as far as workflow, review 
rules, commit message format etc
* Commit messages seem to start with the JIRA ID and then have a sentence 
describing the change, such as: "HBASE-11489 ClassNotFoundException while 
running IT tests in trunk using 'mvn verify' (Ram)" -- are there any length 
limits? Is it a rule of thumb that the JIRA title should be used?

> Design and document the official procedure for posting patches, commits, 
> commit messages, etc. to smooth process and make integration with tools easier
> -------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-4593
>                 URL: https://issues.apache.org/jira/browse/HBASE-4593
>             Project: HBase
>          Issue Type: Task
>          Components: documentation
>            Reporter: Jonathan Gray
>
> I have been building a tool (currently called reposync) to help me keep the 
> internal FB hbase-92-based branch up-to-date with the public branches.
> Various inconsistencies in our process has made it difficult to automate a 
> lot of this stuff.
> I'd like to work with everyone to come up with the official best practices 
> and stick to it.
> I welcome all suggestions.  Among some of the things I'd like to nail down:
> - Commit message format
> - Best practice and commit message format for multiple commits
> - Multiple commits per jira vs. jira per commit, what are the exceptions and 
> when
> - Affects vs. Fix versions
> - Potential usage of [tags] in commit messages for things like book, scripts, 
> shell... maybe even whatever is in the components field?
> - Increased usage of JIRA tags or labels to mark exactly which repos a JIRA 
> has been committed to (potentially even internal repos?  ways for a tool to 
> keep track in JIRA?)
> We also need to be more strict about some things if we want to follow Apache 
> guidelines.  For example, all final versions of a patch must be attached to 
> JIRA so that the author properly assigns it to Apache.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to