Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change 
notification.

The "HowToContribute" page has been changed by AkiraAjisaka:
https://wiki.apache.org/hadoop/HowToContribute?action=diff&rev1=94&rev2=95

Comment:
Use Git for the SCM system for Hadoop instead of SVN

  
  ==== Software Configuration Management (SCM) ====
  
+ The SCM system for Hadoop is moved to Git. See GitAndHadoop for more details.
- The ASF uses Apache Subversion ("SVN") for its SCM system. There are some 
excellent GUIs for this, and IDEs with tight SVN integration, but as all our 
examples are from the command line, it is convenient to have the command line 
tools installed and a basic understanding of them.
- 
- A lot of developers now use Git to keep their own (uncommitted-into-apache) 
code under SCM; the git command line tools aid with this. See GitAndHadoop for 
more details.
- 
  
  ==== Integrated Development Environment (IDE) ====
  
@@ -62, +59 @@

   * Keep your computer's clock up to date via an NTP server, and set up the 
time zone correctly. This is good for avoiding change-log confusion.
  
  === Getting the source code ===
+ First of all, you need the Hadoop source code. The official location for 
Hadoop is the Apache Git repository. See GitAndHadoop
- First of all, you need the Hadoop source code. The official location for 
Hadoop is the Apache SVN repository; Git is also supported, and useful if you 
want to make lots of local changes -and keep those changes under some form or 
private or public revision control.
- 
- ==== SVN Access ====
- Get the source code on your local drive using 
[[http://hadoop.apache.org/core/version_control.html |SVN]].  Most development 
is done on the "trunk":
- 
- {{{
- svn checkout http://svn.apache.org/repos/asf/hadoop/common/trunk/ hadoop-trunk
- }}}
- You may also want to develop against a specific release.  To do so, visit 
http://svn.apache.org/repos/asf/hadoop/common/tags/ and find the release that 
you are interested in developing against.  To checkout this release, run:
- 
- {{{
- svn checkout 
http://svn.apache.org/repos/asf/hadoop/common/tags/release-X.Y.Z/ 
hadoop-common-X.Y.Z
- }}}
- If you prefer to use Eclipse for development, there are instructions for 
setting up SVN access from within Eclipse at EclipseEnvironment.
- 
- '''Committers:''' Check out using https:// URLs instead.
- 
- ==== Git Access ====
- See GitAndHadoop
  
  === Building ProtocolBuffers (for 0.23+) ===
  
- Hadoop 0.23+ must have Google's ProtocolBuffers for compilation to work. 
These are native binaries which need to be downloaded, compiled and then 
installed locally.  See 
[[http://svn.apache.org/repos/asf/hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/README
 |YARN Readme]]. 
+ Hadoop 0.23+ must have Google's ProtocolBuffers for compilation to work. 
These are native binaries which need to be downloaded, compiled and then 
installed locally.  See 
[[https://git-wip-us.apache.org/repos/asf?p=hadoop.git;a=blob_plain;f=BUILDING.txt;hb=HEAD|BUILDING.txt]].
 
  
  This is a good opportunity to get the GNU C/C++ toolchain installed, which is 
useful for working on the native code used in the HDFS project.
  
@@ -98, +77 @@

  
   * you need a copy of GCC 4.1+ including the {{{g++}}} C++ compiler, 
{{{make}}} and the rest of the GNU C++ development chain.
   * Linux: you need a copy of autoconf installed, which your local package 
manager will do -along with automake.
-  * Download the version of protocol buffers that the YARN readme recommends 
from [[http://code.google.com/p/protobuf/ |the protocol buffers project]].
+  * Download the version of protocol buffers that the BUILDING.txt recommends 
from [[http://code.google.com/p/protobuf/ |the protocol buffers project]].
   * unzip it/untar it
   * {{{cd}}} into the directory that has been created.
   * run {{{./configure}}}
@@ -189, +168 @@

  Check to see what files you have modified with:
  
  {{{
- svn stat
+ git status
  }}}
  Add any new files with:
  
  {{{
- svn add src/.../MyNewClass.java
+ git add src/.../MyNewClass.java
- svn add src/.../TestMyNewClass.java
+ git add src/.../TestMyNewClass.java
  }}}
  In order to create a patch, type (from the base directory of hadoop):
  
  {{{
- svn diff > HADOOP-1234.patch
+ git diff --no-prefix trunk > HADOOP-1234.patch
  }}}
  This will report all modifications done on Hadoop sources on your local disk 
and save them into the ''HADOOP-1234.patch'' file.  Read the patch file. Make 
sure it includes ONLY the modifications required to fix a single issue.
  
@@ -219, +198 @@

  
  If you need to rename files in your patch:
  
-  1. Write a shell script that uses 'svn mv' to rename the original files.
+  1. Write a shell script that uses 'git mv' to rename the original files.
   1. Edit files as needed (e.g., to change package names).
-  1. Create a patch file with 'svn diff --no-diff-deleted --notice-ancestry'.
+  1. Create a patch file with 'git diff --no-prefix trunk'.
   1. Submit both the shell script and the patch file.
  
  This way other developers can preview your change by running the script and 
then applying the patch.
@@ -238, +217 @@

  ==== Testing your patch ====
  Before submitting your patch, you are encouraged to run the same tools that 
the automated Jenkins patch test system will run on your patch.  This enables 
you to fix problems with your patch before you submit it. The 
{{{dev-support/test-patch.sh}}} script in the trunk directory will run your 
patch through the same checks that Hudson currently does ''except'' for 
executing the unit tests.
  
- Run this command from a clean workspace (ie {{{svn stat}}} shows no 
modifications or additions) as follows:
+ Run this command from a clean workspace (ie {{{git status}}} shows no 
modifications or additions) as follows:
  
  {{{
  dev-support/test-patch.sh /path/to/my.patch

Reply via email to