You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by aw...@apache.org on 2015/05/05 20:26:38 UTC
hadoop git commit: HADOOP-11917. test-patch.sh should work with
${BASEDIR}/patchprocess setups (aw)
Repository: hadoop
Updated Branches:
refs/heads/trunk 24d3a2d4f -> d33419ae0
HADOOP-11917. test-patch.sh should work with ${BASEDIR}/patchprocess setups (aw)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/d33419ae
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/d33419ae
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/d33419ae
Branch: refs/heads/trunk
Commit: d33419ae01c528073f9f00ef1aadf153fed41222
Parents: 24d3a2d
Author: Allen Wittenauer <aw...@apache.org>
Authored: Tue May 5 11:26:31 2015 -0700
Committer: Allen Wittenauer <aw...@apache.org>
Committed: Tue May 5 11:26:31 2015 -0700
----------------------------------------------------------------------
.gitignore | 1 +
dev-support/test-patch.sh | 78 +++++++++++++++++---
hadoop-common-project/hadoop-common/CHANGES.txt | 3 +
pom.xml | 23 +++---
4 files changed, 84 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/d33419ae/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index a49ad4b..779f507 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,4 @@ hadoop-tools/hadoop-openstack/src/test/resources/contract-test-options.xml
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/tla/yarnregistry.toolbox
yarnregistry.pdf
hadoop-tools/hadoop-aws/src/test/resources/contract-test-options.xml
+patchprocess/
http://git-wip-us.apache.org/repos/asf/hadoop/blob/d33419ae/dev-support/test-patch.sh
----------------------------------------------------------------------
diff --git a/dev-support/test-patch.sh b/dev-support/test-patch.sh
index 9f48c64..3759e9f 100755
--- a/dev-support/test-patch.sh
+++ b/dev-support/test-patch.sh
@@ -535,6 +535,26 @@ function echo_and_redirect
"${@}" > "${logfile}" 2>&1
}
+## @description is PATCH_DIR relative to BASEDIR?
+## @audience public
+## @stability stable
+## @replaceable yes
+## @returns 1 - no, PATCH_DIR
+## @returns 0 - yes, PATCH_DIR - BASEDIR
+function relative_patchdir
+{
+ local p=${PATCH_DIR#${BASEDIR}}
+
+ if [[ ${#p} -eq ${#PATCH_DIR} ]]; then
+ echo ${p}
+ return 1
+ fi
+ p=${p#/}
+ echo ${p}
+ return 0
+}
+
+
## @description Print the usage information
## @audience public
## @stability stable
@@ -697,7 +717,8 @@ function parse_args
esac
done
- # if we get a relative path, turn it absolute
+ # we need absolute dir for ${BASEDIR}
+ cd "${CWD}"
BASEDIR=$(cd -P -- "${BASEDIR}" >/dev/null && pwd -P)
if [[ ${BUILD_NATIVE} == "true" ]] ; then
@@ -723,6 +744,7 @@ function parse_args
JENKINS=false
fi
+ cd "${CWD}"
if [[ ! -d ${PATCH_DIR} ]]; then
mkdir -p "${PATCH_DIR}"
if [[ $? == 0 ]] ; then
@@ -733,6 +755,9 @@ function parse_args
fi
fi
+ # we need absolute dir for PATCH_DIR
+ PATCH_DIR=$(cd -P -- "${PATCH_DIR}" >/dev/null && pwd -P)
+
GITDIFFLINES=${PATCH_DIR}/gitdifflines.txt
}
@@ -821,17 +846,36 @@ function find_changed_modules
function git_checkout
{
local currentbranch
+ local exemptdir
big_console_header "Confirming git environment"
+ cd "${BASEDIR}"
+ if [[ ! -d .git ]]; then
+ hadoop_error "ERROR: ${BASEDIR} is not a git repo."
+ cleanup_and_exit 1
+ fi
+
if [[ ${RESETREPO} == "true" ]] ; then
- cd "${BASEDIR}"
${GIT} reset --hard
if [[ $? != 0 ]]; then
hadoop_error "ERROR: git reset is failing"
cleanup_and_exit 1
fi
- ${GIT} clean -xdf
+
+ # if PATCH_DIR is in BASEDIR, then we don't want
+ # git wiping it out.
+ exemptdir=$(relative_patchdir)
+ if [[ $? == 1 ]]; then
+ ${GIT} clean -xdf
+ else
+ # we do, however, want it emptied of all _files_.
+ # we need to leave _directories_ in case we are in
+ # re-exec mode (which places a directory full of stuff in it)
+ hadoop_debug "Exempting ${exemptdir} from clean"
+ rm "${PATCH_DIR}/*" 2>/dev/null
+ ${GIT} clean -xdf -e "${exemptdir}"
+ fi
if [[ $? != 0 ]]; then
hadoop_error "ERROR: git clean is failing"
cleanup_and_exit 1
@@ -875,11 +919,6 @@ function git_checkout
fi
else
- cd "${BASEDIR}"
- if [[ ! -d .git ]]; then
- hadoop_error "ERROR: ${BASEDIR} is not a git repo."
- cleanup_and_exit 1
- fi
status=$(${GIT} status --porcelain)
if [[ "${status}" != "" && -z ${DIRTY_WORKSPACE} ]] ; then
@@ -1000,6 +1039,16 @@ function verify_valid_branch
local check=$2
local i
+ # shortcut some common
+ # non-resolvable names
+ if [[ -z ${check} ]]; then
+ return 1
+ fi
+
+ if [[ ${check} == patch ]]; then
+ return 1
+ fi
+
if [[ ${check} =~ ^git ]]; then
ref=$(echo "${check}" | cut -f2 -dt)
count=$(echo "${ref}" | wc -c | tr -d ' ')
@@ -2207,9 +2256,16 @@ function cleanup_and_exit
if [[ ${JENKINS} == "true" ]] ; then
if [[ -e "${PATCH_DIR}" ]] ; then
- hadoop_debug "mv ${PATCH_DIR} ${BASEDIR} "
if [[ -d "${PATCH_DIR}" ]]; then
- mv "${PATCH_DIR}" "${BASEDIR}"
+ # if PATCH_DIR is already inside BASEDIR, then
+ # there is no need to move it since we assume that
+ # Jenkins or whatever already knows where it is at
+ # since it told us to put it there!
+ relative_patchdir >/dev/null
+ if [[ $? == 0 ]]; then
+ hadoop_debug "mv ${PATCH_DIR} ${BASEDIR}"
+ mv "${PATCH_DIR}" "${BASEDIR}"
+ fi
fi
fi
fi
@@ -2442,6 +2498,8 @@ find_changed_files
determine_needed_tests
+# from here on out, we'll be in ${BASEDIR} for cwd
+# routines need to pushd/popd if they change.
git_checkout
RESULT=$?
if [[ ${JENKINS} == "true" ]] ; then
http://git-wip-us.apache.org/repos/asf/hadoop/blob/d33419ae/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index 5b2654a..1b33b37 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -533,6 +533,9 @@ Release 2.8.0 - UNRELEASED
HADOOP-11911. test-patch should allow configuration of default branch
(Sean Busbey via aw)
+ HADOOP-11917. test-patch.sh should work with ${BASEDIR}/patchprocess
+ setups (aw)
+
OPTIMIZATIONS
HADOOP-11785. Reduce the number of listStatus operation in distcp
http://git-wip-us.apache.org/repos/asf/hadoop/blob/d33419ae/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 1ea52eb..8394324f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -178,7 +178,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs
</dependency>
</dependencies>
</plugin>
- <!--This plugin's configuration is used to store Eclipse m2e settings only.
+ <!--This plugin's configuration is used to store Eclipse m2e settings only.
It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
@@ -361,6 +361,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs
<exclude>.git/**</exclude>
<exclude>.idea/**</exclude>
<exclude>**/build/**</exclude>
+ <exclude>**/patchprocess/**</exclude>
</excludes>
</configuration>
</plugin>
@@ -391,7 +392,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs
</plugin>
</plugins>
</build>
-
+
<reporting>
<excludeDefaults>true</excludeDefaults>
<plugins>
@@ -441,15 +442,15 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs
</docletArtifact>
</docletArtifacts>
<useStandardDocletOptions>true</useStandardDocletOptions>
-
+
<!-- switch on dependency-driven aggregation -->
<includeDependencySources>false</includeDependencySources>
-
+
<dependencySourceIncludes>
<!-- include ONLY dependencies I control -->
<dependencySourceInclude>org.apache.hadoop:hadoop-annotations</dependencySourceInclude>
</dependencySourceIncludes>
-
+
</configuration>
<reports>
<report>aggregate</report>
@@ -472,7 +473,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs
</plugin>
</plugins>
</reporting>
-
+
<profiles>
<profile>
<id>src</id>
@@ -587,12 +588,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs
<properties>
<cloverLicenseLocation>${user.home}/.clover.license</cloverLicenseLocation>
<cloverDatabase>${project.build.directory}/clover/hadoop-coverage.db</cloverDatabase>
- <!-- NB: This additional parametrization is made in order
+ <!-- NB: This additional parametrization is made in order
to be able to re-define these properties with "-Dk=v" maven options.
- By some reason the expressions declared in clover
- docs like "${maven.clover.generateHtml}" do not work in that way.
- However, the below properties are confirmed to work: e.g.
- -DcloverGenHtml=false switches off the Html generation.
+ By some reason the expressions declared in clover
+ docs like "${maven.clover.generateHtml}" do not work in that way.
+ However, the below properties are confirmed to work: e.g.
+ -DcloverGenHtml=false switches off the Html generation.
The default values provided here exactly correspond to Clover defaults, so
the behavior is 100% backwards compatible. -->
<cloverAlwaysReport>true</cloverAlwaysReport>