Skip to main content

Crate guts_migrate

Crate guts_migrate 

Source
Expand description

§Guts Migration Tools

This crate provides migration tools for importing repositories from GitHub, GitLab, and Bitbucket to the Guts decentralized code collaboration platform.

§Features

  • GitHub Migration: Full repository migration including issues, PRs, releases
  • GitLab Migration: Project migration with merge requests and issues
  • Bitbucket Migration: Repository migration with pull requests
  • Verification: Post-migration verification to ensure data integrity
  • Progress Tracking: Real-time progress reporting with ETA

§Example

use guts_migrate::{GitHubMigrator, MigrationConfig, MigrationOptions};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let config = MigrationConfig {
        source_repo: "owner/repo".to_string(),
        guts_url: "https://api.guts.network".to_string(),
        guts_token: Some("guts_xxx".to_string()),
    };

    let options = MigrationOptions::default()
        .with_issues(true)
        .with_pull_requests(true)
        .with_releases(true);

    let migrator = GitHubMigrator::new("github_token", config)?;
    let report = migrator.migrate(options).await?;

    report.print_summary();
    Ok(())
}

Re-exports§

pub use bitbucket::BitbucketMigrator;
pub use client::GutsClient;
pub use error::MigrationError;
pub use error::Result;
pub use github::GitHubMigrator;
pub use gitlab::GitLabMigrator;
pub use progress::MigrationProgress;
pub use progress::ProgressCallback;
pub use verify::MigrationVerifier;
pub use types::*;

Modules§

bitbucket
Bitbucket migration implementation.
client
Guts API client for migration operations.
error
Error types for migration operations.
github
GitHub migration implementation.
gitlab
GitLab migration implementation.
progress
Progress tracking for migration operations.
types
Common types for migration operations.
verify
Migration verification utilities.

Constants§

VERSION
Version of the migration tools.