$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: bdawes_at_[hidden]
Date: 2008-07-08 21:05:34
Author: bemandawes
Date: 2008-07-08 21:05:33 EDT (Tue, 08 Jul 2008)
New Revision: 47252
URL: http://svn.boost.org/trac/boost/changeset/47252
Log:
Initial commit
Added:
   trunk/tools/release/compare_trees.cpp   (contents, props changed)
   trunk/tools/release/msvc/
   trunk/tools/release/msvc/compare_trees/
   trunk/tools/release/msvc/compare_trees/compare_trees.vcproj   (contents, props changed)
   trunk/tools/release/msvc/msvc.sln   (contents, props changed)
Added: trunk/tools/release/compare_trees.cpp
==============================================================================
--- (empty file)
+++ trunk/tools/release/compare_trees.cpp	2008-07-08 21:05:33 EDT (Tue, 08 Jul 2008)
@@ -0,0 +1,91 @@
+//  compare_trees.cpp  -------------------------------------------------------//
+
+//  Copyright Beman Dawes 2008
+
+//  Use, modification, and distribution is subject to the Boost Software
+//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or
+//  http://www.boost.org/LICENSE_1_0.txt)
+
+//----------------------------------------------------------------------------//
+
+#include <boost/filesystem.hpp>
+#include <iostream>
+#include <fstream>
+#include <string>
+
+using namespace boost::filesystem;
+using std::string;
+
+namespace
+{
+
+//  load_file  ---------------------------------------------------------------//
+
+  void load_file( const path & p, string & target )
+  {
+
+    std::ifstream fin( p.string().c_str(),
+      std::ios_base::in|std::ios_base::binary );
+    if ( !fin )
+      std::cout << "could not open input file: " << p.string() << '\n';
+    std::getline( fin, target, '\0' ); // read the whole file
+  }
+}
+
+//  main  --------------------------------------------------------------------//
+
+int main( int argc, char * argv[] )
+{
+  if ( argc != 3 )
+  {
+    std::cout << "Usage: compare_trees [options ...] path1 path2\n";
+    return 1;
+  }
+
+  path p1(argv[1]);
+  path p2(argv[2]);
+
+  recursive_directory_iterator it( p1 );
+  recursive_directory_iterator end;
+
+  for ( ; it != end; ++it )
+  {
+    //std::cout << it->string() << "\n";
+    if ( it->filename()[0] == '.' )
+    {
+      it.no_push();
+      continue;
+    }
+    string s = it->string();
+    s.erase(0, p1.string().size());
+    path t(p2);
+    t /= s;
+    if ( !exists(t) )
+    {
+      std::cout << t.string() << " does not exist\n";
+      if ( is_directory( it.status() ) )
+        it.no_push();
+    }
+    else if ( is_regular_file( it.status() ) )
+    {
+      if ( file_size(*it) != file_size(t) )
+      {
+        std::cout << t.string() << " different size\n";
+      }
+
+      //  size of the two files is the same, so compare contents
+      else
+      {
+        string contents1, contents2;
+        load_file(*it, contents1);
+        load_file(t, contents2);
+        if ( contents1 != contents2 )
+        {
+          std::cout << t.string() << " different content\n";
+        }
+      }
+    }
+  }
+
+  return 0;
+}
Added: trunk/tools/release/msvc/compare_trees/compare_trees.vcproj
==============================================================================
--- (empty file)
+++ trunk/tools/release/msvc/compare_trees/compare_trees.vcproj	2008-07-08 21:05:33 EDT (Tue, 08 Jul 2008)
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="compare_trees"
+	ProjectGUID="{7E6AD5ED-4168-4613-A342-0217AA82DEC1}"
+	RootNamespace="compare_trees"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="..\..\..\.."
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				AdditionalLibraryDirectories="..\..\..\..\stage\lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				AdditionalIncludeDirectories="..\..\..\.."
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="..\..\..\..\stage\lib"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath="..\..\compare_trees.cpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
Added: trunk/tools/release/msvc/msvc.sln
==============================================================================
--- (empty file)
+++ trunk/tools/release/msvc/msvc.sln	2008-07-08 21:05:33 EDT (Tue, 08 Jul 2008)
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual C++ Express 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "compare_trees", "compare_trees\compare_trees.vcproj", "{7E6AD5ED-4168-4613-A342-0217AA82DEC1}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{7E6AD5ED-4168-4613-A342-0217AA82DEC1}.Debug|Win32.ActiveCfg = Debug|Win32
+		{7E6AD5ED-4168-4613-A342-0217AA82DEC1}.Debug|Win32.Build.0 = Debug|Win32
+		{7E6AD5ED-4168-4613-A342-0217AA82DEC1}.Release|Win32.ActiveCfg = Release|Win32
+		{7E6AD5ED-4168-4613-A342-0217AA82DEC1}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal