aboutsummaryrefslogtreecommitdiffstats
path: root/patch.xml
diff options
context:
space:
mode:
authorJaven O'Neal <onealj@apache.org>2016-07-08 11:32:52 +0000
committerJaven O'Neal <onealj@apache.org>2016-07-08 11:32:52 +0000
commitedf158d24827565525bc11867a70226a9f06eedc (patch)
tree9278ea91ba27568aa7cf2acb5911259ad80fca16 /patch.xml
parentf387fec2028e4b72a0514893ce21237c552c10fc (diff)
downloadpoi-edf158d24827565525bc11867a70226a9f06eedc.tar.gz
poi-edf158d24827565525bc11867a70226a9f06eedc.zip
bug 59826: ant script to apply patch.tar.gz files from bugzilla
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1751883 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'patch.xml')
-rw-r--r--patch.xml53
1 files changed, 53 insertions, 0 deletions
diff --git a/patch.xml b/patch.xml
index 55808a9992..3e2228afe1 100644
--- a/patch.xml
+++ b/patch.xml
@@ -71,5 +71,58 @@
</tar>
<delete file="${patch.file}.tmp"/>
</target>
+
+ <target name="apply"
+ description="apply patch.tar.gz files generated by patchpackage">
+
+ <!--
+ extract patch.tar.gz to svn working copy
+ $ tar xvzf patch.tar.gz
+ -->
+ <echo message="extracting ${patch.file} to working copy"/>
+ <untar src="${patch.package}"
+ dest="."
+ failOnEmptyArchive="true"
+ compression="gzip">
+ </untar>
+
+ <!--
+ Apply the changes from patch.txt
+ $ svn patch patch.txt
+ -->
+ <echo message="svn patch ${patch.file}"/>
+ <fail unless="svn.found" message="You need a version of svn to create the patch"/>
+ <exec executable="svn">
+ <arg value="patch"/>
+ <arg value="${patch.file}"/>
+ </exec>
+ <delete file="${patch.file}"/>
+
+ <!--
+ get a list of all new files in patch.tar.gz and store in tar.file.list filelist
+ $ tar -tf patch.tar.gz | grep -v patch.txt | xargs svn add
+ -->
+ <echo message="Getting ${patch.file} file list"/>
+ <delete dir="${patch.package}.tmp" quiet="false" failonerror="false" />
+ <untar src="${patch.package}"
+ dest="${patch.package}.tmp"
+ failOnEmptyArchive="true"
+ compression="gzip">
+ </untar>
+ <fileset dir="${patch.package}.tmp"
+ id="tar.file.list"
+ excludes="${patch.file}"/>
+
+ <!-- add new files -->
+ <echo message="Adding new files to svn working copy"/>
+ <apply executable="svn"
+ relative="true">
+ <arg value="add"/>
+ <fileset refid="tar.file.list"/>
+ </apply>
+
+ <delete dir="${patch.package}.tmp"/>
+
+ </target>
</project>