SvnDumpParser 1.0.0

dotnet add package SvnDumpParser --version 1.0.0
                    
NuGet\Install-Package SvnDumpParser -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SvnDumpParser" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SvnDumpParser" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="SvnDumpParser" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SvnDumpParser --version 1.0.0
                    
#r "nuget: SvnDumpParser, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=SvnDumpParser&version=1.0.0
                    
Install SvnDumpParser as a Cake Addin
#tool nuget:?package=SvnDumpParser&version=1.0.0
                    
Install SvnDumpParser as a Cake Tool

SvnDumpParser: A .NET Library for Parsing Subversion Dumps

SvnDumpParser is a .NET 9 library for parsing Subversion (SVN) dump files. It provides a simple and efficient way to read and extract information from SVN dump streams programmatically.

Features

  • Parses SVN Dump Files: Core functionality to read and interpret the structure of SVN dump files.
  • Detailed Revision Information: Extracts detailed information about each revision, including revision number, author, date, log message, and changed nodes.
  • Node and Property Parsing: Parses information about nodes (files and directories) within revisions, including paths, actions (add, delete, modify), and properties.
  • Step-by-Step Parsing: Supports step-by-step parsing, which is especially useful for handling large dump files efficiently and processing data incrementally.
  • Extensible Parser Actions: Utilizes the IParserActions interface, allowing you to customize the parsing process and perform actions as revisions and nodes are parsed (e.g., store data in a database, convert to another format, etc.).
  • Error Handling: Provides robust error handling to gracefully manage issues within the dump file format.
  • Verbose Output: Includes a Verbose option for detailed logging during parsing, helpful for debugging.

Getting Started

Installation

You can install SvnDumpParser via NuGet:

dotnet add package SvnDumpParser

Basic Usage

Here's a simple example of how to use SvnDumpParser to parse an SVN dump file and print out the revision numbers:

using SvnDumpParser;
using SvnDumpParser.Interfaces;
using SvnDumpParser.Models;

// Path to your SVN dump file
string dumpFilePath = "path/to/your/svn_dump.dump";

// Create a parser service instance
ISvnDumpParser svnDumpParser = new SvnDumpParserService();

// Create step-based parser actions
var parserActions = new StepParserActions();

parserActions.OnRevisionAdded = revision =>
{
    Console.WriteLine($"Revision: {revision.RevisionNumber}");
};

// Configure parser options (optional)
var parserOptions = new ParserOptions
{
    Verbose = true // Enable verbose output if needed
};

try
{
    // Parse the dump file
    svnDumpParser.Parse(dumpFilePath, parserActions, parserOptions);

    Console.WriteLine("Parsing completed successfully.");
}
catch (Exception ex)
{
    Console.WriteLine($"An error occurred during parsing: {ex.Message}");
}
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 100 2/24/2025