![]() |
VOOZH | about |
wrong package name
dotnet add package SvnDumpParser.Lib --version 1.0.13
NuGet\Install-Package SvnDumpParser.Lib -Version 1.0.13
<PackageReference Include="SvnDumpParser.Lib" Version="1.0.13" />
<PackageVersion Include="SvnDumpParser.Lib" Version="1.0.13" />Directory.Packages.props
<PackageReference Include="SvnDumpParser.Lib" />Project file
paket add SvnDumpParser.Lib --version 1.0.13
#r "nuget: SvnDumpParser.Lib, 1.0.13"
#:package SvnDumpParser.Lib@1.0.13
#addin nuget:?package=SvnDumpParser.Lib&version=1.0.13Install as a Cake Addin
#tool nuget:?package=SvnDumpParser.Lib&version=1.0.13Install as a Cake Tool
👁 NuGet Package
👁 License
👁 GitHub Organization
SvnExporter is a .NET library and tool designed to extract and export data from Subversion (SVN) repositories. It provides a flexible way to retrieve SVN log entries, including commit details, changed paths, file content (optional), and revision properties. This tool is useful for analyzing SVN history, generating reports, or as a building block for more complex SVN to Git migration processes.
svn:mime-type property.ISvnItemsExporter interface for defining custom export formats.Note: Not included into this project, see SvnRepo2Git project.
LogRetrievalOptions:
FileContentMode: Control the level of file content retrieval (None, Preview, Full).IncludeChangedPaths: Include lists of changed files/directories in each revision.IncludeRevisionProperties: Include custom revision properties.Clone the Repository:
git clone https://github.com/Svn2GitTools/SvnExporter.git # Replace with your actual repository URL
cd SvnExporter
Build with .NET CLI:
dotnet build
or open the project in Visual Studio or your preferred .NET IDE and build.
SvnExporter is primarily a library, but it can be used with example console applications (like those shown in your code snippets) or integrated into other tools.
Example Usage:
// ... (Project setup and dependencies) ...
ISvnItemsReader itemsReader = new SvnItemsReader();
// Example 1: Console Output with Preview Content
LogRetrievalOptions consoleOptions = new LogRetrievalOptions()
{
FileContentMode = EFileContentMode.Preview,
FileContentPreviewLength = 100,
IncludeChangedPaths = true,
IncludeRevisionProperties = true
};
Console.WriteLine("--- Console Display Output (Preview Content) ---");
IEnumerable<SvnRevision> logEntriesForConsole = itemsReader.GetLogEntries("your_svn_repo_url", consoleOptions); // Replace with your SVN URL
ISvnItemsExporter consoleExporter = new ConsoleSvnItemsExporter();
consoleExporter.Export(logEntriesForConsole);
// Example 2: Generating Author List
LogRetrievalOptions authorListOptions = new LogRetrievalOptions()
{
FileContentMode = EFileContentMode.None,
IncludeChangedPaths = false,
IncludeRevisionProperties = false
};
Console.WriteLine("\n--- Author List Output ---");
AuthorsListExporter authorsListExporter = new AuthorsListExporter();
IEnumerable<SvnRevision> logEntriesForAuthors = itemsReader.GetLogEntries("your_svn_repo_url", authorListOptions); // Replace with your SVN URL
authorsListExporter.Export(logEntriesForAuthors);
authorsListExporter.WriteToFile("authors.txt", "yourdomain.com"); // Replace with your domain if needed
// Example 3: (Integration with Svn2GitExporter - for Git migration tools)
// ... (Setup AuthorsListImporter if needed) ...
ISvnItemsExporter gitExporter = new Svn2GitExporter("path_to_your_git_repo", /* authorsListImporter if needed */ null); // Replace with your Git repo path
LogRetrievalOptions gitExportOptions = new LogRetrievalOptions()
{
FileContentMode = EFileContentMode.Full,
IncludeChangedPaths = true,
IncludeRevisionProperties = true
};
Console.WriteLine("\n--- Git Export Output (Full Content - for Git migration) ---");
IEnumerable<SvnRevision> logEntriesForGit = itemsReader.GetLogEntries("your_svn_repo_url", gitExportOptions); // Replace with your SVN URL
gitExporter.Export(logEntriesForGit);
Important:
"your_svn_repo_url", "path_to_your_git_repo", and "yourdomain.com" with your actual SVN repository URL, Git repository path (if applicable), and email domain if using the author list exporter.ISvnItemsReader.cs / SvnItemsReader.cs: Defines the interface and implementation for reading SVN log entries using SharpSvn. Handles batch processing, progress tracking, and conversion of SvnLogEventArgs to SvnRevision models.ISvnItemsExporter.cs: Defines the interface for exporting SvnRevision data.ConsoleSvnItemsExporter.cs (Example): Implements ISvnItemsExporter to display SvnRevision data in the console.AuthorsListExporter.cs (Example): Implements ISvnItemsExporter to generate a list of authors from SvnRevision data.Models/ Directory: Contains data models:
SvnRevision.cs: Represents an SVN revision with author, date, commit message, changed paths, and properties.SvnChangeInfo.cs: Represents information about a changed path within a revision.FileInfoDetail.cs: Represents details about a file (size, type, content).LogRetrievalOptions.cs: Defines options to control what data is retrieved from SVN (content mode, changed paths, properties).| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 1.0.13 | 248 | 2/24/2025 | 1.0.13 is deprecated. |