#![cfg_attr(docsrs, feature(doc_cfg))]
#![deny(unsafe_code)]
mod client;
mod commit;
mod editor;
mod error;
mod export;
mod highlevel;
mod options;
mod path;
mod pool;
mod rasvn;
#[cfg(feature = "ssh")]
mod ssh;
mod svndiff;
#[cfg(test)]
mod test_support;
mod textdelta;
mod types;
mod url;
pub use client::{RaSvnClient, RaSvnSession};
pub use commit::{CommitBuilder, CommitStreamBuilder, SvndiffMode};
pub use editor::{
AsyncEditorEventHandler, EditorCommand, EditorEvent, EditorEventHandler, Report, ReportCommand,
};
pub use error::{ServerError, ServerErrorItem, SvnError};
pub use export::{FsEditor, TokioFsEditor};
pub use pool::{
PooledSession, SessionPool, SessionPoolConfig, SessionPoolHealthCheck, SessionPoolKey,
SessionPools,
};
#[cfg(feature = "ssh")]
pub use ssh::{SshAuth, SshConfig, SshHostKeyPolicy};
pub use textdelta::{
RecordedTextDelta, TextDeltaApplier, TextDeltaApplierSync, TextDeltaRecorder, apply_textdelta,
apply_textdelta_sync,
};
pub type Result<T> = std::result::Result<T, SvnError>;
pub use options::{
CommitLockToken, CommitOptions, DiffOptions, GetFileOptions, ListOptions, LockManyOptions,
LockOptions, LockTarget, LogOptions, LogRevProps, ReplayOptions, ReplayRangeOptions,
StatusOptions, SwitchOptions, UnlockManyOptions, UnlockOptions, UnlockTarget, UpdateOptions,
};
pub mod raw {
pub use crate::rasvn::SvnItem;
}
pub use types::{
BlameLine, Capability, ChangedPath, CommitInfo, Depth, DirEntry, DirListing, DirentField,
FileRev, FileRevContents, GetFileResult, InheritedProps, LocationEntry, LocationSegment,
LockDesc, LogEntry, MergeInfoCatalog, MergeInfoInheritance, NodeKind, PropDelta, PropertyList,
RepositoryInfo, ServerInfo, StatEntry,
};
pub use url::SvnUrl;