hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Hadoop Wiki] Update of "HowToContribute" by AkiraAjisaka
Date Mon, 01 Sep 2014 08:09:28 GMT
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

Mime
View raw message