subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject svn commit: r1662177 [18/18] - in /subversion/branches/reuse-ra-session: ./ build/ build/generator/ contrib/client-side/svncopy/ subversion/bindings/javahl/native/ subversion/bindings/javahl/src/org/apache/subversion/javahl/ subversion/bindings/javahl/...
Date Wed, 25 Feb 2015 08:15:42 GMT
Modified: subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-sparc-solaris/svncheck.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-sparc-solaris/svncheck.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-sparc-solaris/svncheck.sh (original)
+++ subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-sparc-solaris/svncheck.sh Wed Feb 25 08:15:39 2015
@@ -30,10 +30,10 @@ export LD_PRELOAD_64
 
 if [ $SVN_VER_MINOR -eq 9 ]; then
   echo "============ make svnserveautocheck"
-  make svnserveautocheck CLEANUP=1 PARALLEL=30 THREADED=1
+  make svnserveautocheck CLEANUP=1 PARALLEL=30 THREADED=1 || exit $?
 else
   echo "============ make check"
-  make check CLEANUP=1 PARALLEL=30 THREADED=1
+  make check CLEANUP=1 PARALLEL=30 THREADED=1 || exit $?
 fi
 
 exit 0

Modified: subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-centos/svnbuild.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-centos/svnbuild.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-centos/svnbuild.sh (original)
+++ subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-centos/svnbuild.sh Wed Feb 25 08:15:39 2015
@@ -33,7 +33,7 @@ if [ $SVN_VER_MINOR -ge 9 ]; then
   APR=/home/bt/packages/apr-1.3.9-prefix/bin/apr-1-config
   APU=/home/bt/packages/apr-1.3.9-prefix/bin/apu-1-config
   APXS=/home/bt/packages/apr-1.3.9-prefix/bin/apxs
-  SERF=/home/bt/packages/apr-1.3.9-prefix 
+  SERF=/home/bt/packages/apr-1.3.9-prefix
 else
   APR=/usr
   APU=/usr

Modified: subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-centos/svnlog.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-centos/svnlog.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-centos/svnlog.sh (original)
+++ subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-centos/svnlog.sh Wed Feb 25 08:15:39 2015
@@ -25,7 +25,7 @@ set -x
 # upload file to server
 FILENAME=tests-`date +%Y%m%d%H%M`.log.tgz
 tar -czf $FILENAME tests.log
-ftp -n www.mobsol.be < ../ftpscript 
+ftp -n www.mobsol.be < ../ftpscript
 rm $FILENAME
 
 echo "Logs of the testrun can be found here: http://www.mobsol.be/logs/eh-debsarge1/$FILENAME"

Modified: subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx-gnu-shared-daily-ra_serf/svnlog.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx-gnu-shared-daily-ra_serf/svnlog.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx-gnu-shared-daily-ra_serf/svnlog.sh (original)
+++ subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx-gnu-shared-daily-ra_serf/svnlog.sh Wed Feb 25 08:15:39 2015
@@ -23,7 +23,7 @@
 # upload file to server
 FILENAME=tests-`date +%Y%m%d%H%M`.log.tgz
 tar -czf $FILENAME tests.log
-ftp -n www.mobsol.be < ../ftpscript 
+ftp -n www.mobsol.be < ../ftpscript
 rm $FILENAME
 
 echo "Logs of the testrun can be found here: http://www.mobsol.be/logs/osx10.4-gcc4.0.1-ia32/$FILENAME"

Modified: subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx-gnu-shared/svnlog.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx-gnu-shared/svnlog.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx-gnu-shared/svnlog.sh (original)
+++ subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx-gnu-shared/svnlog.sh Wed Feb 25 08:15:39 2015
@@ -23,7 +23,7 @@
 # upload file to server
 FILENAME=tests-`date +%Y%m%d%H%M`.log.tgz
 tar -czf $FILENAME tests.log
-ftp -n www.mobsol.be < ../ftpscript 
+ftp -n www.mobsol.be < ../ftpscript
 rm $FILENAME
 
 echo "Logs of the testrun can be found here: http://www.mobsol.be/logs/osx10.4-gcc4.0.1-ia32/$FILENAME"

Modified: subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh (original)
+++ subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh Wed Feb 25 08:15:39 2015
@@ -24,15 +24,40 @@ if [ -z "$1" ]; then
     exit 1
 fi
 
+if [ -z "$2" ]; then
+    echo "Missing parameter: RAMdisk config file"
+    exit 1
+fi
+
 volume="/Volumes/$1"
+ramconf="$2"
 
-mount | fgrep "on ${volume} " >/dev/null || {
+ramconfpath=$(dirname "${ramconf}")
+if [ ! -d "${ramconfpath}" ]; then
+    echo "Missing RAMdisk config file path: ${ramconfpath}"
+    exit 1
+fi
+if [ -f "${ramconf}" ]; then
+    echo "RAMdisk config file exists: ${ramconf}"
+    exit 1
+fi
+
+if [ -d "${volume}" ]; then
+    echo "Mount point exists: ${volume}"
+    exit 1
+fi
+
+mount | grep "^/dev/disk[0-9][0-9]* on ${volume} (hfs" >/dev/null || {
     set -e
+    echo -n "" > "${ramconf}"
+
     # Make sure we strip trailing spaces from the result of older
     # versions of hduitil.
     device=$(echo $(hdiutil attach -nomount ram://900000))
     newfs_hfs -M 0700 -v "$1" "${device}"
     hdiutil mountvol "${device}"
+
+    echo -n "${device}" > "${ramconf}"
 }
 
 exit 0

Modified: subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh (original)
+++ subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh Wed Feb 25 08:15:39 2015
@@ -24,11 +24,39 @@ if [ -z "$1" ]; then
     exit 1
 fi
 
+if [ -z "$2" ]; then
+    echo "Missing parameter: RAMdisk config file"
+    exit 1
+fi
+
 volume="/Volumes/$1"
+ramconf="$2"
+
+if [ ! -f "${ramconf}" ]; then
+    mount | grep "^/dev/disk[0-9][0-9]* on ${volume} (hfs" || {
+        echo "Not mounted: ${volume}"
+        exit 0
+    }
+    echo "Missing RAMdisk config file: ${ramconf}"
+    exit 1
+fi
+
+if [ ! -d "${volume}" ]; then
+    echo "Mount point missing: ${volume}"
+    exit 1
+fi
+
+device=$(cat "${ramconf}")
+devfmt=$(echo "${device}" | grep "^/dev/disk[0-9][0-9]*$")
+if [ "${device}" != "${devfmt}" ]; then
+    echo "Invalid device name: ${device}"
+    exit 1
+fi
 
-mount | fgrep "on ${volume} " >/dev/null && {
+mount | grep "^${device} on ${volume} (hfs" >/dev/null && {
     set -e
-    hdiutil detach "${volume}" -force
+    rm "${ramconf}"
+    hdiutil detach "${device}" -force
 }
 
 exit 0

Modified: subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/setenv.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/setenv.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/setenv.sh (original)
+++ subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/setenv.sh Wed Feb 25 08:15:39 2015
@@ -56,6 +56,9 @@ export LIBTOOL_CONFIG
 # Set the absolute source path
 abssrc=$(pwd)
 
+# Set the path to the RAMdisk device name file
+ramconf=$(dirname "${abssrc}")/ramdisk.conf
+
 # The RAMdisk volume name is the same as the name of the builder
 volume_name=$(basename $(dirname "${abssrc}"))
 if [ -z "${volume_name}" ]; then

Modified: subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh (original)
+++ subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh Wed Feb 25 08:15:39 2015
@@ -24,7 +24,7 @@ scripts=$(cd $(dirname "$0") && pwd)
 
 . ${scripts}/setenv.sh
 
-${scripts}/mkramdisk.sh ${volume_name}
+${scripts}/mkramdisk.sh ${volume_name} ${ramconf}
 
 # These are the default APR and Serf config options
 serfconfig="--with-serf=${SVNBB_SERF} --with-apxs=/usr/sbin/apxs"

Modified: subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh (original)
+++ subversion/branches/reuse-ra-session/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh Wed Feb 25 08:15:39 2015
@@ -24,4 +24,4 @@ scripts=$(cd $(dirname "$0") && pwd)
 
 . ${scripts}/setenv.sh
 
-${scripts}/rmramdisk.sh ${volume_name}
+${scripts}/rmramdisk.sh ${volume_name} ${ramconf}

Modified: subversion/branches/reuse-ra-session/tools/buildbot/slaves/ubuntu-x64/svnlog.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/buildbot/slaves/ubuntu-x64/svnlog.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/buildbot/slaves/ubuntu-x64/svnlog.sh (original)
+++ subversion/branches/reuse-ra-session/tools/buildbot/slaves/ubuntu-x64/svnlog.sh Wed Feb 25 08:15:39 2015
@@ -25,7 +25,7 @@ set -x
 # upload file to server
 FILENAME=tests-`date +%Y%m%d%H%M`.log.tgz
 tar -czf $FILENAME tests.log
-ftp -n www.mobsol.be < ../ftpscript 
+ftp -n www.mobsol.be < ../ftpscript
 rm $FILENAME
 
 echo "Logs of the testrun can be found here: http://www.mobsol.be/logs/eh-debsarge1/$FILENAME"

Modified: subversion/branches/reuse-ra-session/tools/client-side/bash_completion
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/client-side/bash_completion?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/client-side/bash_completion (original)
+++ subversion/branches/reuse-ra-session/tools/client-side/bash_completion Wed Feb 25 08:15:39 2015
@@ -167,7 +167,7 @@ _svn()
 	cmds="$cmds info list ls lock log merge mergeinfo mkdir move mv rename"
 	cmds="$cmds patch propdel pdel propedit pedit propget pget proplist"
 	cmds="$cmds plist propset pset relocate resolve resolved revert status"
-	cmds="$cmds switch unlock update upgrade youngest"
+	cmds="$cmds switch unlock update upgrade"
 
 	# help options have a strange command status...
 	local helpOpts='--help -h'
@@ -781,7 +781,9 @@ _svn()
 
 	# otherwise build possible options for the command
 	pOpts="--username --password --no-auth-cache --non-interactive \
-	       --trust-server-cert --force-interactive"
+	       --trust-server-cert --trust-unknown-ca --trust-cn-mismatch \
+	       --trust-expired --trust-not-yet-valid --trust-other-failure \
+	       --force-interactive"
 	mOpts="-m --message -F --file --encoding --force-log --with-revprop"
 	rOpts="-r --revision"
 	qOpts="-q --quiet"
@@ -869,7 +871,7 @@ _svn()
 		         --incremental --xml $qOpts -l --limit -c --change \
                          $gOpts --with-all-revprops --with-revprop --depth \
 		         --diff --diff-cmd -x --extensions --internal-diff \
-		         --with-no-revprops --search --search-and --auto-moves"
+		         --with-no-revprops --search --search-and"
 		;;
 	merge)
 		cmdOpts="$rOpts $nOpts $qOpts --force --dry-run --diff3-cmd \
@@ -953,9 +955,6 @@ _svn()
 	upgrade)
 		cmdOpts="$qOpts $pOpts"
 		;;
-	youngest)
-		cmdOpts="$pOpts --no-newline"
-		;;
 	*)
 		;;
 	esac

Modified: subversion/branches/reuse-ra-session/tools/client-side/svn-ssl-fingerprints.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/client-side/svn-ssl-fingerprints.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/client-side/svn-ssl-fingerprints.sh (original)
+++ subversion/branches/reuse-ra-session/tools/client-side/svn-ssl-fingerprints.sh Wed Feb 25 08:15:39 2015
@@ -20,7 +20,7 @@
 #
 #
 # $0 --- list the fingerprints of SSL certificates that svn has seen before.
-# 
+#
 # SYNOPSIS:
 #     $0
 #     $0 /path/to/.subversion

Modified: subversion/branches/reuse-ra-session/tools/dev/benchmarks/RepoPerf/copy_repo.py
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/dev/benchmarks/RepoPerf/copy_repo.py?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/dev/benchmarks/RepoPerf/copy_repo.py (original)
+++ subversion/branches/reuse-ra-session/tools/dev/benchmarks/RepoPerf/copy_repo.py Wed Feb 25 08:15:39 2015
@@ -137,7 +137,7 @@ class Repository:
   @classmethod
   def is_repository(cls, path):
     """ Quick check that PATH is (probably) a repository.
-        This is mainly to filter out aux files put next to 
+        This is mainly to filter out aux files put next to
         (not inside) the repositories to copy. """
 
     format_path = os.path.join(path, 'db', 'format')

Modified: subversion/branches/reuse-ra-session/tools/dev/benchmarks/RepoPerf/win_repo_bench.py
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/dev/benchmarks/RepoPerf/win_repo_bench.py?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/dev/benchmarks/RepoPerf/win_repo_bench.py (original)
+++ subversion/branches/reuse-ra-session/tools/dev/benchmarks/RepoPerf/win_repo_bench.py Wed Feb 25 08:15:39 2015
@@ -115,7 +115,7 @@ def run_cs_command(state, config, reposi
 
   # Display the operation
   repo_title = repository.replace('nonpacked', 'nopack')
-  print state, "\t", repo_title, "\t", prefix, "\t", config, "\t", 
+  print state, "\t", repo_title, "\t", prefix, "\t", config, "\t",
   sys.stdout.flush()
 
   # Execute the command and show the execution times
@@ -146,18 +146,18 @@ def run_test_cs_sequence(config, reposit
   run_cs_command("Cold", config, repository, prefix, args)
   stop_server(prefix)
 
-  # OS caches are quite hot now. 
+  # OS caches are quite hot now.
   # Run operation from hot OS caches but cold SVN caches.
   start_server(prefix, config)
   run_cs_command("WarmOS", config, repository, prefix, args)
   stop_server(prefix)
 
-  # OS caches may be even hotter now. 
+  # OS caches may be even hotter now.
   # Run operation from hot OS caches but cold SVN caches.
   start_server(prefix, config)
   run_cs_command("HotOS", config, repository, prefix, args)
 
-  # Keep server process and thus the warmed up SVN caches. 
+  # Keep server process and thus the warmed up SVN caches.
   # Run operation from hot OS and SVN caches.
   run_cs_command("WrmSVN", config, repository, prefix, args)
   run_cs_command("HotSVN", config, repository, prefix, args)
@@ -215,7 +215,7 @@ def run_admin_command(state, config, rep
   else:
     extra = []
 
-  print state, "\t", repository, "\t", config, "\t", 
+  print state, "\t", repository, "\t", config, "\t",
   sys.stdout.flush()
   subprocess.call(["TimeWin.exe", exe] + args + extra)
 

Modified: subversion/branches/reuse-ra-session/tools/dev/benchmarks/large_dirs/create_bigdir.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/dev/benchmarks/large_dirs/create_bigdir.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/dev/benchmarks/large_dirs/create_bigdir.sh (original)
+++ subversion/branches/reuse-ra-session/tools/dev/benchmarks/large_dirs/create_bigdir.sh Wed Feb 25 08:15:39 2015
@@ -29,7 +29,7 @@ SVNPATH="$('pwd')/subversion"
 # Comment the SVNSERVE line to use file:// instead of svn://.
 
 SVN=${SVNPATH}/svn/svn
-SVNADMIN=${SVNPATH}/svnadmin/svnadmin   
+SVNADMIN=${SVNPATH}/svnadmin/svnadmin
 SVNSERVE=${SVNPATH}/svnserve/svnserve
 # VALGRIND="valgrind --tool=callgrind"
 
@@ -45,7 +45,7 @@ REPOROOT=/dev/shm
 FILECOUNT=1
 MAXCOUNT=20000
 
-# only 1.7 supports server-side caching and uncompressed data transfer 
+# only 1.7 supports server-side caching and uncompressed data transfer
 
 SERVEROPTS="-c 0 -M 400"
 
@@ -162,7 +162,7 @@ run_svn_get() {
   fi
 }
 
-# main loop 
+# main loop
 
 while [ $FILECOUNT -lt $MAXCOUNT ]; do
   echo "Processing $FILECOUNT files in the same folder"
@@ -172,7 +172,7 @@ while [ $FILECOUNT -lt $MAXCOUNT ]; do
   mkdir $WC/$FILECOUNT
   for i in 1 $sequence; do
     echo "File number $i" > $WC/$FILECOUNT/$i
-  done    
+  done
 
   printf "\tAdding files ...   \t"
   run_svn add $FILECOUNT -q
@@ -182,7 +182,7 @@ while [ $FILECOUNT -lt $MAXCOUNT ]; do
 
   printf "\tCommit files ...   \t"
   run_svn_ci $FILECOUNT add
-  
+
   printf "\tListing files ...  \t"
   run_svn ls $FILECOUNT
 

Modified: subversion/branches/reuse-ra-session/tools/dev/build-svn-deps-win.pl
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/dev/build-svn-deps-win.pl?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/dev/build-svn-deps-win.pl (original)
+++ subversion/branches/reuse-ra-session/tools/dev/build-svn-deps-win.pl Wed Feb 25 08:15:39 2015
@@ -17,7 +17,7 @@
 #    under the License.
 # ====================================================================
 #
-# Script to build all the dependencies for Subversion on Windows 
+# Script to build all the dependencies for Subversion on Windows
 # It's been written for Windows 8 and Visual Studio 2012, but
 # it's entirely possible it will work with older versions of both.
 
@@ -27,7 +27,7 @@
 # Subversion and quickly get up a development environment.
 
 # Prerequisites:
-# Perl: http://www.activestate.com/activeperl/downloads 
+# Perl: http://www.activestate.com/activeperl/downloads
 # Python: http://www.activestate.com/activepython/downloads
 # 7-Zip: http://www.7-zip.org/download.html
 # CMake: http://www.cmake.org/cmake/resources/software.html
@@ -42,7 +42,7 @@
 # available.
 #
 # TODO:
-# Find some way to work around the lack of devenv in Express (msbuild will help some) 
+# Find some way to work around the lack of devenv in Express (msbuild will help some)
 # Include a package target that zips everything up.
 # Perl script that runs the Subversion get-make.py tool with the right args.
 # Alternatively update gen-make.py with an arg that knows about our layout.
@@ -54,7 +54,7 @@
 # Allow selection of Arch (x86 and x64)
 # ZLib support for OpenSSL (have to patch openssl)
 # Use CMake zlib build instead.
-# Assembler support for OpenSSL. 
+# Assembler support for OpenSSL.
 # Add more specific commands to the command line (e.g. build-httpd)
 
 ###################################
@@ -208,10 +208,10 @@ my $PERL = $Config{perlpath};
 
 # Directory constants that we setup for convenience, but that
 # shouldn't be changed since they are assumed in the build systems
-# of the various dependencies. 
+# of the various dependencies.
 my $HTTPD; # Where httpd gets built
 my $BDB; # Where bdb gets built
-my $BINDIR; # where binaries are installed 
+my $BINDIR; # where binaries are installed
 my $LIBDIR; # where libraries are installed
 my $INCDIR; # where headers are installed
 my $SRCLIB; # httpd's srclib dir
@@ -274,7 +274,7 @@ sub system_or_die {
 }
 
 # Like perl -pi.orig the second arg is a reference to a
-# function that does whatever line processing you want. 
+# function that does whatever line processing you want.
 # Note that $_ is used for the input and output of the
 # function.  So modifying $_ changes the line in the file.
 # bak can be passed to set the backup extension.  If the
@@ -345,7 +345,7 @@ sub prepare_structure {
 sub clean_structure {
   # ignore errors in this function the paths may not exist
   my $real_clean = shift;
-  
+
   if ($real_clean) {
     rmtree($SRCDIR);
   }
@@ -478,7 +478,7 @@ sub extract_dependencies {
   extract_file($API_FILE, $SRCLIB,
                "$SRCLIB\\apr-iconv-$API_VER", "$SRCLIB\\apr-iconv");
   # We fix the line endings before putting the non-Apache deps in place since it
-  # touches everything under httpd and there's no point in doing other things. 
+  # touches everything under httpd and there's no point in doing other things.
   httpd_fix_lineends();
   extract_file($ZLIB_FILE, $SRCLIB,
                "$SRCLIB\\zlib-$ZLIB_VER", "$SRCLIB\\zlib");
@@ -507,7 +507,7 @@ sub build_pcre {
   my $pcre_options = '-DPCRE_NO_RECURSE:BOOL=ON';
   my $pcre_shared_libs = '-DBUILD_SHARED_LIBS:BOOL=ON';
   my $pcre_install_prefix = "-DCMAKE_INSTALL_PREFIX:PATH=$INSTDIR";
-  my $cmake_cmd = qq("$CMAKE" -G "$pcre_generator" "$pcre_build_type" "$pcre_shared_libs" "$pcre_install_prefix" "$pcre_options" .); 
+  my $cmake_cmd = qq("$CMAKE" -G "$pcre_generator" "$pcre_build_type" "$pcre_shared_libs" "$pcre_install_prefix" "$pcre_options" .);
   system_or_die("Failure generating pcre Makefiles", $cmake_cmd);
   system_or_die("Failure building pcre", qq("$NMAKE"));
   system_or_die("Failure testing pcre", qq("$NMAKE" test));
@@ -521,7 +521,7 @@ sub build_zlib {
   chdir_or_die("$SRCLIB\\zlib");
   $ENV{CC_OPTS} = $DEBUG ? '/MDd /Gm /ZI /Od /GZ /D_DEBUG' : '/MD /02 /Zi';
   $ENV{COMMON_CC_OPTS} = '/nologo /W3 /DWIN32 /D_WINDOWS';
-  
+
   system_or_die("Failure building zilb", qq("$NMAKE" /nologo -f win32\\Makefile.msc STATICLIB=zlibstat.lib all));
 
   delete $ENV{CC_OPTS};
@@ -533,14 +533,14 @@ sub build_zlib {
 sub build_openssl {
   chdir_or_die("$SRCLIB\\openssl");
 
-  # We're building openssl without an assembler.  If someone wants to 
+  # We're building openssl without an assembler.  If someone wants to
   # use this for production they should probably download NASM and
   # remove the no-asm below and use ms\do_nasm.bat instead.
-  
+
   # TODO: Enable openssl to use zlib.  openssl needs some patching to do
   # this since it wants to look for zlib as zlib1.dll and as the httpd
   # build instructions note you probably don't want to dynamic link zlib.
-  
+
   # TODO: OpenSSL requires perl on the path since it uses perl without a full
   # path in the batch file and the makefiles.  Probably should determine
   # if PERL is on the path and add it here if not.
@@ -599,7 +599,7 @@ sub httpd_fix_lineends {
   chdir_or_die($TOPDIR);
 }
 
-# The httpd makefile in 2.4.4 doesn't know about .vcxproj files and 
+# The httpd makefile in 2.4.4 doesn't know about .vcxproj files and
 # still thinks it's got an older version of Visual Studio because
 # .vcproj files have become .vcxproj.
 sub httpd_fix_makefile {
@@ -607,8 +607,8 @@ sub httpd_fix_makefile {
 
   modify_file_in_place($file, sub {
       s/\.vcproj/.vcxproj/i;
-      # below fixes that installd breaks when trying to install pcre because 
-      # dll is named pcred.dll when a Debug build. 
+      # below fixes that installd breaks when trying to install pcre because
+      # dll is named pcred.dll when a Debug build.
       s/^(\s*copy srclib\\pcre\\pcre\.\$\(src_dll\)\s+"\$\(inst_dll\)"\s+<\s*\.y\s*)$/!IF EXISTS("srclib\\pcre\\pcre\.\$(src_dll)")\n$1!ENDIF\n!IF EXISTS("srclib\\pcre\\pcred\.\$(src_dll)")\n\tcopy srclib\\pcre\\pcred.\$(src_dll)\t\t\t"\$(inst_dll)" <.y\n!ENDIF\n/;
     });
 }
@@ -797,8 +797,8 @@ sub build_httpd {
 sub build_bdb {
   chdir_or_die($BDB);
 
-   print(cwd(),$/); 
-  my $sln = 'build_windows\Berkeley_DB_vs2010.sln'; 
+   print(cwd(),$/);
+  my $sln = 'build_windows\Berkeley_DB_vs2010.sln';
   upgrade_solution($sln);
 
   my $platform = $DEBUG ? 'Debug|Win32' : 'Release|Win32';
@@ -834,7 +834,7 @@ sub build_serf {
       s/^(INTDIR = Debug)$/$1\nOPENSSL_OUT_SUFFIX = .dbg/;
       s/(\$\(OPENSSL_SRC\)\\out32(?:dll)?)/$1\$(OPENSSL_OUT_SUFFIX)/g;
     }, '.debug');
-  
+
   chdir_or_die($TOPDIR);
 }
 

Modified: subversion/branches/reuse-ra-session/tools/dev/fsfs-access-map.c
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/dev/fsfs-access-map.c?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/dev/fsfs-access-map.c (original)
+++ subversion/branches/reuse-ra-session/tools/dev/fsfs-access-map.c Wed Feb 25 08:15:39 2015
@@ -60,7 +60,7 @@ typedef struct file_stats_t
 
   /* number of read() calls that returned 0 bytes */
   apr_int64_t empty_reads;
-  
+
   /* total number of bytes returned by those reads */
   apr_int64_t read_size;
 
@@ -314,7 +314,7 @@ parse_line(svn_stringbuf_t *line)
   else
     while(*func_start == ' ')
       func_start++;
-  
+
   first_param_end = strchr(func_end, ',');
   if (first_param_end == NULL)
     first_param_end = strchr(func_end, ')');
@@ -558,13 +558,13 @@ scale_line(color_t* out,
            int in_len)
 {
   double scaling_factor = (double)(in_len) / (double)(out_len);
-  
+
   apr_size_t i;
   memset(out, 0, out_len * sizeof(color_t));
   for (i = 0; i < out_len; ++i)
     {
       color_t color = { 0 };
-      
+
       double source_start = i * scaling_factor;
       double source_end = (i + 1) * scaling_factor;
 
@@ -626,7 +626,7 @@ write_bitmap(apr_array_header_t *info,
   /**/
   line = apr_pcalloc(pool, xsize * sizeof(color_t));
   scaled_line = apr_pcalloc(pool, row_size);
-  
+
   /* write header to file */
   write_bitmap_header(file, max_x, ysize);
 

Modified: subversion/branches/reuse-ra-session/tools/dev/po-merge.py
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/dev/po-merge.py?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/dev/po-merge.py (original)
+++ subversion/branches/reuse-ra-session/tools/dev/po-merge.py Wed Feb 25 08:15:39 2015
@@ -188,7 +188,7 @@ def main(argv):
 
     # We're done.  Tell the user what we did.
     print(('%d strings updated. '
-          '%d fuzzy strings. ' 
+          '%d fuzzy strings. '
           '%d of %d strings are still untranslated (%.0f%%).' %
           (update_count, fuzzy, untranslated, string_count,
            100.0 * untranslated / string_count)))

Modified: subversion/branches/reuse-ra-session/tools/dev/remove-trailing-whitespace.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/dev/remove-trailing-whitespace.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/dev/remove-trailing-whitespace.sh (original)
+++ subversion/branches/reuse-ra-session/tools/dev/remove-trailing-whitespace.sh Wed Feb 25 08:15:39 2015
@@ -17,8 +17,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
- for ext in c h cpp java py pl rb hpp cmd bat; do
-   find . -name "*.$ext" -exec \
+ for ext in c h cpp java py pl rb hpp cmd bat sql sh; do
+   find . -name "*.$ext" -not -type l -exec \
      perl -pi -e 's/[ \t]*$//' {} + ;
      # don't use \s to not strip ^L pagebreaks
- done                         
+ done

Modified: subversion/branches/reuse-ra-session/tools/dev/x509-parser.c
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/dev/x509-parser.c?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/dev/x509-parser.c (original)
+++ subversion/branches/reuse-ra-session/tools/dev/x509-parser.c Wed Feb 25 08:15:39 2015
@@ -84,7 +84,7 @@ is_der_cert(const svn_string_t *raw)
 {
   /* really simplistic fingerprinting of a DER.  By definition it must
    * start with an ASN.1 tag of a constructed (0x20) sequence (0x10).
-   * It's somewhat unfortunate that 0x30 happens to also come out to the 
+   * It's somewhat unfortunate that 0x30 happens to also come out to the
    * ASCII for '0' which may mean this will create false positives. */
   return raw->data[0] == 0x30 ? TRUE : FALSE;
 }

Modified: subversion/branches/reuse-ra-session/tools/diff/diff.c
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/diff/diff.c?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/diff/diff.c (original)
+++ subversion/branches/reuse-ra-session/tools/diff/diff.c Wed Feb 25 08:15:39 2015
@@ -117,7 +117,7 @@ int main(int argc, const char *argv[])
 
           APR_ARRAY_PUSH(options_array, const char *) = argv[i];
 
-          /* Special case: '-U' takes an argument, so capture the 
+          /* Special case: '-U' takes an argument, so capture the
            * next argument in the array. */
           if (argv[i][1] == 'U' && !argv[i][2])
             {

Modified: subversion/branches/reuse-ra-session/tools/dist/backport.pl
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/dist/backport.pl?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/dist/backport.pl (original)
+++ subversion/branches/reuse-ra-session/tools/dist/backport.pl Wed Feb 25 08:15:39 2015
@@ -3,6 +3,8 @@ use warnings;
 use strict;
 use feature qw/switch say/;
 
+#no warnings 'experimental::smartmatch';
+
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
@@ -63,7 +65,7 @@ my @sh = qw/false true/;
 die if grep { ($sh[$_] eq 'true') != !!$_ } $DEBUG, $MAY_COMMIT, $VERBOSE, $YES;
 
 # Username for entering votes.
-my $SVN_A_O_REALM = '<https://svn.apache.org:443> ASF Committers';            
+my $SVN_A_O_REALM = '<https://svn.apache.org:443> ASF Committers';
 my ($AVAILID) = $ENV{AVAILID} // do {
   local $_ = `$SVN auth svn.apache.org:443 2>/dev/null`; # TODO: pass $SVN_A_O_REALM
   ($? == 0 && /Auth.*realm: \Q$SVN_A_O_REALM\E\nUsername: (.*)/) ? $1 : undef
@@ -97,6 +99,7 @@ unless (defined $AVAILID) {
 my $STATUS = './STATUS';
 my $STATEFILE = './.backports1';
 my $BRANCHES = '^/subversion/branches';
+my $TRUNK = '^/subversion/trunk';
 $ENV{LC_ALL} = "C";  # since we parse 'svn info' output and use isprint()
 
 # Globals.
@@ -178,12 +181,30 @@ to open a shell, and manually run 'svn c
 in the environment before running the script, in which case answering 'y'
 to the first prompt will not only run the merge but also commit it.
 
-There is also a batch mode (normally used only by cron jobs and buildbot tasks,
-rather than interactively): when \$YES and \$MAY_COMMIT are defined to '1' in
-the environment, this script will iterate the "Approved:" section, and merge
-and commit each entry therein.  If only \$YES is defined, the script will
-merge every nomination (including unapproved and vetoed ones), and complain
-to stderr if it notices any conflicts.
+There are two batch modes.  The first mode is used by the nightly svn-role
+mergebot.  It is enabled by setting \$YES and \$MAY_COMMIT to '1' in the
+environment.  In this mode, the script will iterate the "Approved changes:"
+section and merge and commit each entry therein.  To prevent an entry from
+being auto-merged, veto it or move it to a new section named "Approved, but
+merge manually:".
+
+The second batch mode is used by the hourly conflicts detector bot.  It is
+triggered by having \$YES defined in the environment to '1' and \$MAY_COMMIT
+undefined.  In this mode, the script will locally merge every nomination
+(including unapproved and vetoed ones), and complain to stderr if the merge
+failed due to a conflict.  This mode never commits anything.
+
+The hourly conflicts detector bot turns red if any entry produced a merge
+conflict.  When entry A depends on entry B for a clean merge, put a "Depends:"
+header on entry A to instruct the bot not to turn red due to A.  (The header
+is not parsed; only its presence or absence matters.)
+
+Both batch modes also perform a basic sanity-check on entries that declare
+backport branches (via the "Branch:" header): if a backport branch is used, but
+at least one of the revisions enumerated in the entry title had not been merged
+from $TRUNK to the branch root, the hourly bot will turn red and 
+nightly bot will skip the entry and email its admins.  (The nightly bot does
+not email the list on failure, since it doesn't use buildbot.)
 
 The 'svn' binary defined by the environment variable \$SVN, or otherwise the
 'svn' found in \$PATH, will be used to manage the working copy.
@@ -286,9 +307,9 @@ sub shell_escape {
 
 sub shell_safe_path_or_url($) {
   local $_ = shift;
-  return m{^[A-Za-z0-9._:+/-]+$} and !/^-|^[+]/;
+  return (m{^[A-Za-z0-9._:+/-]+$} and !/^-|^[+]/);
 }
-  
+
 # Shell-safety-validating wrapper for File::Temp::tempfile
 sub my_tempfile {
   my ($fh, $fn) = tempfile();
@@ -502,8 +523,8 @@ sub parse_entry {
         $notes .= shift while @_ and $_[0] !~ /^\w/;
         my %accepts = map { $_ => 1 } ($notes =~ /--accept[ =]([a-z-]+)/g);
         given (scalar keys %accepts) {
-          when (0) { } 
-          when (1) { $accept = [keys %accepts]->[0]; } 
+          when (0) { }
+          when (1) { $accept = [keys %accepts]->[0]; }
           default  {
             warn "Too many --accept values at '",
                  logsummarysummary({ logsummary => [@logsummary] }),
@@ -625,7 +646,7 @@ sub vote {
       (exists $approved->{$key}) ? ($raw_approved .= $_) : (print VOTES);
       next;
     }
-    
+
     s/^(\s*\Q$vote\E:.*)/"$1, $AVAILID"/me
     or s/(.*\w.*?\n)/"$1     $vote: $AVAILID\n"/se;
     $_ = edit_string $_, $entry->{header}, trailing_eol => 2
@@ -648,7 +669,7 @@ sub vote {
     grep { !$approvedcheck{$_} } keys %$approved
     if scalar(keys %$approved) != scalar(keys %approvedcheck);
   prompt "Press the 'any' key to continue...\n", dontprint => 1
-    if scalar(keys %$approved) != scalar(keys %approvedcheck) 
+    if scalar(keys %$approved) != scalar(keys %approvedcheck)
     or scalar(keys %$votes) != scalar(keys %votescheck);
   move "$STATUS.$$.tmp", $STATUS;
 
@@ -810,6 +831,37 @@ sub exit_stage_left {
   exit scalar keys %ERRORS;
 }
 
+# Given an ENTRY, check whether all ENTRY->{revisions} have been merged
+# into ENTRY->{branch}, if it has one.  If revisions are missing, record
+# a warning in $ERRORS.  Return TRUE If the entry passed the validation
+# and FALSE otherwise.
+sub validate_branch_contains_named_revisions {
+  my %entry = @_;
+  return 1 unless defined $entry{branch};
+  my %present;
+
+  return "Why are you running so old versions?" # true in boolean context
+    if $SVNvsn < 1_005_000;     # doesn't have the 'mergeinfo' subcommand
+
+  my $shell_escaped_branch = shell_escape($entry{branch});
+  %present = do {
+    my @present = `$SVN mergeinfo --show-revs=merged -- $TRUNK $BRANCHES/$shell_escaped_branch`;
+    chomp @present;
+    @present = map /(\d+)/g, @present;
+    map +($_ => 1), @present;
+  };
+
+  my @absent = grep { not exists $present{$_} } @{$entry{revisions}};
+
+  if (@absent) {
+    $ERRORS{$entry{id}} //= [\%entry,
+      sprintf("Revisions '%s' nominated but not included in branch",
+              (join ", ", map { "r$_" } @absent)),
+    ];
+  }
+  return @absent ? 0 : 1;
+}
+
 sub handle_entry {
   my $in_approved = shift;
   my $approved = shift;
@@ -829,9 +881,15 @@ sub handle_entry {
     unless (@vetoes) {
       if ($MAY_COMMIT and $in_approved) {
         # svn-role mode
-        merge %entry;
+        merge %entry if validate_branch_contains_named_revisions %entry;
       } elsif (!$MAY_COMMIT) {
         # Scan-for-conflicts mode
+
+        # First, sanity-check the entry.  We ignore the result; even if it
+        # failed, we do want to check for conflicts, in the remainder of this
+        # block.
+        validate_branch_contains_named_revisions %entry;
+
         merge %entry;
 
         my $output = `$SVN status`;
@@ -892,8 +950,9 @@ sub handle_entry {
     given (prompt 'Run a merge? [y,l,v,±1,±0,q,e,a, ,N] ',
                    verbose => 1, extra => qr/[+-]/) {
       when (/^y/i) {
+        #validate_branch_contains_named_revisions %entry;
         merge %entry;
-        while (1) { 
+        while (1) {
           given (prompt "Shall I open a subshell? [ydN] ", verbose => 1) {
             when (/^y/i) {
               # TODO: if $MAY_COMMIT, save the log message to a file (say,
@@ -1091,7 +1150,7 @@ sub nominate_main {
   # Construct entry.
   my $logmsg = `$SVN propget --revprop -r $revnums[0] --strict svn:log '^/'`;
   die "Can't fetch log message of r$revnums[0]: $!" unless $logmsg;
-  
+
   unless ($logmsg =~ s/^(.*?)\n\n.*/$1/s) {
     # "* file\n  (symbol): Log message."
 

Modified: subversion/branches/reuse-ra-session/tools/dist/backport_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/dist/backport_tests.py?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/dist/backport_tests.py (original)
+++ subversion/branches/reuse-ra-session/tools/dist/backport_tests.py Wed Feb 25 08:15:39 2015
@@ -74,38 +74,38 @@ class BackportTest(object):
     """Return a decorator that: builds TEST_FUNC's sbox, creates
     ^/subversion/trunk, and calls TEST_FUNC, then compare its output to the
     expected dump file named after TEST_FUNC."""
-  
+
     # .wraps() propagates the wrappee's docstring to the wrapper.
-    @functools.wraps(test_func) 
+    @functools.wraps(test_func)
     def wrapped_test_func(sbox):
       expected_dump_file = './%s.dump' % (test_func.func_name,)
 
       sbox.build()
-  
+
       # r2: prepare ^/subversion/ tree
       sbox.simple_mkdir('subversion', 'subversion/trunk')
       sbox.simple_mkdir('subversion/tags', 'subversion/branches')
       sbox.simple_move('A', 'subversion/trunk')
       sbox.simple_move('iota', 'subversion/trunk')
       sbox.simple_commit(message='Create trunk')
-  
+
       # r3: branch
       sbox.simple_copy('subversion/trunk', 'branch')
       sbox.simple_append('branch/STATUS', '')
       sbox.simple_add('branch/STATUS')
       sbox.simple_commit(message='Create branch, with STATUS file')
-  
+
       # r4: random change on trunk
       sbox.simple_append('subversion/trunk/iota', 'First change\n')
       sbox.simple_commit(message='First change')
-  
+
       # r5: random change on trunk
       sbox.simple_append('subversion/trunk/A/mu', 'Second change\n')
       sbox.simple_commit(message='Second change')
-  
+
       # Do the work.
       test_func(sbox)
-  
+
       # Verify it.
       verify_backport(sbox, expected_dump_file, self.uuid)
     return wrapped_test_func
@@ -139,7 +139,7 @@ def serialize_entry(entry):
 
     # notes
     '   Notes: %s\n' % (entry['notes'],) if entry['notes'] else '',
-     
+
     # branch
     '   Branch: %s\n' % (entry['branch'],) if entry['branch'] else '',
 
@@ -210,12 +210,12 @@ def verify_backport(sbox, expected_dump_
   # mirror repository in preparation for the comparison dump.
   svntest.actions.enable_revprop_changes(sbox.repo_dir)
   for revnum in range(0, 1+int(sbox.youngest())):
-    svntest.actions.run_and_verify_svnadmin(None, [], [],
+    svntest.actions.run_and_verify_svnadmin([], [],
       "delrevprop", "-r", revnum, sbox.repo_dir, "svn:date")
 
   # Create a dump file from the mirror repository.
   dest_dump = open(expected_dump_file).readlines()
-  svntest.actions.run_and_verify_svnadmin(None, None, [],
+  svntest.actions.run_and_verify_svnadmin(None, [],
                                           'setuuid', '--', sbox.repo_dir, uuid)
   src_dump = svntest.actions.run_and_verify_dump(sbox.repo_dir)
 
@@ -265,7 +265,7 @@ def backport_two_approveds(sbox):
 
   # Now back up and do three entries.
   # r9: revert r7, r8
-  svntest.actions.run_and_verify_svnlook(None, ["8\n"], [],
+  svntest.actions.run_and_verify_svnlook(["8\n"], [],
                                          'youngest', sbox.repo_dir)
   sbox.simple_update()
   svntest.main.run_svn(None, 'merge', '-r8:6',
@@ -294,7 +294,7 @@ def backport_accept(sbox):
   # r6: conflicting change on branch
   sbox.simple_append('branch/iota', 'Conflicts with first change\n')
   sbox.simple_commit(message="Conflicting change on iota")
-  
+
   # r7: nominate r4 with --accept (because of r6)
   approved_entries = [
     make_entry([4], notes="Merge with --accept=theirs-conflict."),
@@ -318,7 +318,7 @@ def backport_branches(sbox):
   # r6: conflicting change on branch
   sbox.simple_append('branch/iota', 'Conflicts with first change')
   sbox.simple_commit(message="Conflicting change on iota")
-  
+
   # r7: backport branch
   sbox.simple_update()
   sbox.simple_copy('branch', 'subversion/branches/r4')
@@ -342,6 +342,8 @@ def backport_branches(sbox):
   # Run it.
   run_backport(sbox)
 
+  # This also serves as the 'success mode' part of backport_branch_contains().
+
 
 #----------------------------------------------------------------------
 @BackportTest('76cee987-25c9-4d6c-ad40-000000000005')
@@ -367,7 +369,7 @@ def backport_conflicts_detection(sbox):
   # r6: conflicting change on branch
   sbox.simple_append('branch/iota', 'Conflicts with first change\n')
   sbox.simple_commit(message="Conflicting change on iota")
-  
+
   # r7: nominate r4, but without the requisite --accept
   approved_entries = [
     make_entry([4], notes="This will conflict."),
@@ -399,6 +401,60 @@ def backport_conflicts_detection(sbox):
 
 
 #----------------------------------------------------------------------
+@BackportTest(None) # would be 000000000007
+def backport_branch_contains(sbox):
+  "branch must contain the revisions"
+
+  # r6: conflicting change on branch
+  sbox.simple_append('branch/iota', 'Conflicts with first change')
+  sbox.simple_commit(message="Conflicting change on iota")
+
+  # r7: backport branch
+  sbox.simple_update()
+  sbox.simple_copy('branch', 'subversion/branches/r4')
+  sbox.simple_commit(message='Create a backport branch')
+
+  # r8: merge into backport branch
+  sbox.simple_update()
+  svntest.main.run_svn(None, 'merge', '--record-only', '-c4',
+                       '^/subversion/trunk', sbox.ospath('subversion/branches/r4'))
+  sbox.simple_mkdir('subversion/branches/r4/A_resolved')
+  sbox.simple_append('subversion/branches/r4/iota', "resolved\n", truncate=1)
+  sbox.simple_commit(message='Conflict resolution via mkdir')
+
+  # r9: nominate r4,r5 with branch that contains not all of them
+  approved_entries = [
+    make_entry([4,5], branch="r4")
+  ]
+  sbox.simple_append(STATUS, serialize_STATUS(approved_entries))
+  sbox.simple_commit(message='Nominate r4')
+
+  # Run it.
+  exit_code, output, errput = run_backport(sbox, error_expected=True)
+
+  # Verify the error message.
+  expected_errput = svntest.verify.RegexOutput(
+    ".*Revisions 'r5' nominated but not included in branch",
+    match_all=False,
+  )
+  svntest.verify.verify_outputs(None, output, errput,
+                                [], expected_errput)
+  svntest.verify.verify_exit_code(None, exit_code, 1)
+
+  # Verify no commit occurred.
+  svntest.actions.run_and_verify_svnlook(["9\n"], [],
+                                         'youngest', sbox.repo_dir)
+
+  # Verify the working copy has been reverted.
+  svntest.actions.run_and_verify_svn([], [], 'status', '-q',
+                                     sbox.repo_dir)
+
+  # The sibling test backport_branches() verifies the success mode.
+
+
+
+
+#----------------------------------------------------------------------
 
 ########################################################################
 # Run the tests
@@ -411,6 +467,7 @@ test_list = [ None,
               backport_branches,
               backport_multirevisions,
               backport_conflicts_detection,
+              backport_branch_contains,
               # When adding a new test, include the test number in the last
               # 6 bytes of the UUID.
              ]

Propchange: subversion/branches/reuse-ra-session/tools/dist/backport_tests.py
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: subversion/branches/reuse-ra-session/tools/dist/dist.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/dist/dist.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/dist/dist.sh (original)
+++ subversion/branches/reuse-ra-session/tools/dist/dist.sh Wed Feb 25 08:15:39 2015
@@ -22,7 +22,7 @@
 
 # USAGE: ./dist.sh -v VERSION -r REVISION -pr REPOS-PATH
 #                  [-alpha ALPHA_NUM|-beta BETA_NUM|-rc RC_NUM|pre PRE_NUM]
-#                  [-apr PATH-TO-APR ] [-apru PATH-TO-APR-UTIL] 
+#                  [-apr PATH-TO-APR ] [-apru PATH-TO-APR-UTIL]
 #                  [-apri PATH-TO-APR-ICONV] [-neon PATH-TO-NEON]
 #                  [-serf PATH-TO-SERF] [-zlib PATH-TO-ZLIB]
 #                  [-sqlite PATH-TO-SQLITE] [-zip] [-sign]
@@ -47,13 +47,13 @@
 #   working copy, so you may wish to create a dist-resources directory
 #   containing the apr/, apr-util/, neon/, serf/, zlib/ and sqlite/
 #   dependencies, and run dist.sh from that.
-#  
+#
 #   When building alpha, beta or rc tarballs pass the appropriate flag
 #   followed by a number.  For example "-alpha 5", "-beta 3", "-rc 2".
-# 
+#
 #   If neither an -alpha, -beta, -pre or -rc option is specified, a release
 #   tarball will be built.
-#  
+#
 #   To build a Windows zip file package, additionally pass -zip and the
 #   path to apr-iconv with -apri.
 
@@ -119,7 +119,7 @@ if [ -n "$ALPHA" ] && [ -n "$BETA" ] &&
   exit 1
 elif [ -n "$ALPHA" ] ; then
   VER_TAG="Alpha $ALPHA"
-  VER_NUMTAG="-alpha$ALPHA" 
+  VER_NUMTAG="-alpha$ALPHA"
 elif [ -n "$BETA" ] ; then
   VER_TAG="Beta $BETA"
   VER_NUMTAG="-beta$BETA"

Modified: subversion/branches/reuse-ra-session/tools/dist/nightly.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/dist/nightly.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/dist/nightly.sh (original)
+++ subversion/branches/reuse-ra-session/tools/dist/nightly.sh Wed Feb 25 08:15:39 2015
@@ -54,7 +54,7 @@ head=`$svn info $repo/trunk | grep '^Rev
 
 # Get the latest versions of the rolling scripts
 for i in release.py dist.sh
-do 
+do
   $svn export --force -r $head $repo/trunk/tools/dist/$i@$head $dir/$i
 done
 # We also need ezt

Propchange: subversion/branches/reuse-ra-session/tools/hook-scripts/control-chars.py
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: subversion/branches/reuse-ra-session/tools/hook-scripts/mailer/mailer.py
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/hook-scripts/mailer/mailer.py?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/hook-scripts/mailer/mailer.py (original)
+++ subversion/branches/reuse-ra-session/tools/hook-scripts/mailer/mailer.py Wed Feb 25 08:15:39 2015
@@ -241,7 +241,7 @@ class MailedOutput(OutputBase):
     # characters), encoding (per RFC2047) each token as necessary, and
     # slapping 'em back to together again.
     from email.Header import Header
-    
+
     def _maybe_encode_header(hdr_token):
       try:
         hdr_token.encode('ascii')

Modified: subversion/branches/reuse-ra-session/tools/hook-scripts/mailer/tests/mailer-init.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/hook-scripts/mailer/tests/mailer-init.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/hook-scripts/mailer/tests/mailer-init.sh (original)
+++ subversion/branches/reuse-ra-session/tools/hook-scripts/mailer/tests/mailer-init.sh Wed Feb 25 08:15:39 2015
@@ -104,12 +104,12 @@ svn commit -m "copy dir, then make a cha
 printf "\x00\x01\x02\x03\x04\n" > file11
 svn add file11
 svn ps svn:mime-type application/octect-stream file11
-svn ps prop2 -F file11 file9 
+svn ps prop2 -F file11 file9
 svn commit -m "add binary file"
 
 # change the binary file and set property to non binary value
 printf "\x20\x01\x02\x20\n" > file11
-svn ps prop2 propval2 file9 
+svn ps prop2 propval2 file9
 svn commit -m "change binary file"
 
 # tweak the commit dates to known quantities

Propchange: subversion/branches/reuse-ra-session/tools/hook-scripts/validate-files.py
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: subversion/branches/reuse-ra-session/tools/po/po-update.sh
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/po/po-update.sh?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/po/po-update.sh (original)
+++ subversion/branches/reuse-ra-session/tools/po/po-update.sh Wed Feb 25 08:15:39 2015
@@ -93,8 +93,8 @@ update_po()
     # GNU gettext-tools 0.14.6 implementation) inverts the order of obsolete
     # messages every time it is run. Therefore, run it twice, to invert and
     # then re-invert, to minimize spurious diffs.
-    $MSGMERGE --sort-by-file --no-wrap --update $i subversion.pot 
-    $MSGMERGE --sort-by-file --no-wrap --update $i subversion.pot 
+    $MSGMERGE --sort-by-file --no-wrap --update $i subversion.pot
+    $MSGMERGE --sort-by-file --no-wrap --update $i subversion.pot
   done )
 }
 

Modified: subversion/branches/reuse-ra-session/tools/server-side/svnpubsub/daemonize.py
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/tools/server-side/svnpubsub/daemonize.py?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/tools/server-side/svnpubsub/daemonize.py (original)
+++ subversion/branches/reuse-ra-session/tools/server-side/svnpubsub/daemonize.py Wed Feb 25 08:15:39 2015
@@ -83,7 +83,7 @@ class Daemon(object):
     p = multiprocessing.Process(target=self._first_child,
                                 args=(child_is_ready, child_completed))
     p.start()
-    
+
     # Wait for the child to finish setting things up (in case we need
     # to communicate with it). It will only exit when ready.
     ### use a timeout here! (parameterized, of course)
@@ -260,13 +260,13 @@ class _Detacher(Daemon):
   def run(self):
     self.target(*self.args, **self.kwargs)
 
-    
+
 def run_detached(target, *args, **kwargs):
   """Simple function to run TARGET as a detached daemon.
-  
+
   The additional arguments/keywords will be passed along. This function
   does not return -- sys.exit() will be called as appropriate.
-  
+
   (capture SystemExit if logging/reporting is necessary)
   ### if needed, a variant of this func could be written to not exit
   """

Propchange: subversion/branches/reuse-ra-session/tools/server-side/svnpubsub/svnpubsub/util.py
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: subversion/branches/reuse-ra-session/win-tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/win-tests.py?rev=1662177&r1=1662176&r2=1662177&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/win-tests.py (original)
+++ subversion/branches/reuse-ra-session/win-tests.py Wed Feb 25 08:15:39 2015
@@ -212,7 +212,7 @@ for opt, val in opts:
     test_javahl = 1
   elif opt == '--swig':
     if val not in ['perl', 'python', 'ruby']:
-      sys.stderr.write('Running \'%s\' swig tests not supported (yet).\n' 
+      sys.stderr.write('Running \'%s\' swig tests not supported (yet).\n'
                         % (val,))
     test_swig = val
   elif opt == '--list':
@@ -257,7 +257,7 @@ if fs_type == 'bdb':
   all_tests = gen_obj.test_progs + gen_obj.bdb_test_progs \
             + gen_obj.scripts + gen_obj.bdb_scripts
 else:
-  all_tests = gen_obj.test_progs + gen_obj.scripts            
+  all_tests = gen_obj.test_progs + gen_obj.scripts
 
 client_tests = [x for x in all_tests if x.startswith(CMDLINE_TEST_SCRIPT_PATH)]
 
@@ -323,14 +323,14 @@ def locate_libs():
   "Move DLLs to a known location and set env vars"
 
   debug = (objdir == 'Debug')
-  
+
   for lib in gen_obj._libraries.values():
 
     if debug:
       name, dir = lib.debug_dll_name, lib.debug_dll_dir
     else:
       name, dir = lib.dll_name, lib.dll_dir
-      
+
     if name and dir:
       src = os.path.join(dir, name)
       if os.path.exists(src):
@@ -799,7 +799,7 @@ elif test_javahl:
             '-Dtest.rooturl=',
             '-Dtest.fstype=' + fs_type ,
             '-Dtest.tests=',
-  
+
             '-Djava.library.path='
                       + os.path.join(abs_objdir,
                                      'subversion/bindings/javahl/native'),



Mime
View raw message