@grec0/mcp-svn
Version:
MCP server para integración completa con Subversion (SVN)
82 lines • 2.84 kB
TypeScript
import { SvnConfig, SvnResponse, SvnInfo, SvnStatus, SvnLogEntry, SvnCheckoutOptions, SvnUpdateOptions, SvnCommitOptions, SvnAddOptions, SvnDeleteOptions } from '../common/types.js';
export declare class SvnService {
private config;
constructor(config?: Partial<SvnConfig>);
/**
* Función auxiliar para manejar errores comunes de SVN
*/
private handleSvnError;
/**
* Verificar que SVN está disponible y configurado correctamente
*/
healthCheck(): Promise<SvnResponse<{
svnAvailable: boolean;
version?: string;
workingCopyValid?: boolean;
repositoryAccessible?: boolean;
}>>;
/**
* Obtener información del working copy o directorio específico
*/
getInfo(path?: string): Promise<SvnResponse<SvnInfo>>;
/**
* Obtener estado de archivos en el working copy
*/
getStatus(path?: string, showAll?: boolean): Promise<SvnResponse<SvnStatus[]>>;
/**
* Obtener historial de cambios (log)
*/
getLog(path?: string, limit?: number, revision?: string): Promise<SvnResponse<SvnLogEntry[]>>;
/**
* Obtener diferencias entre versiones
*/
getDiff(path?: string, oldRevision?: string, newRevision?: string): Promise<SvnResponse<string>>;
/**
* Checkout de un repositorio
*/
checkout(url: string, path?: string, options?: SvnCheckoutOptions): Promise<SvnResponse<string>>;
/**
* Actualizar working copy
*/
update(path?: string, options?: SvnUpdateOptions): Promise<SvnResponse<string>>;
/**
* Añadir archivos al control de versiones
*/
add(paths: string | string[], options?: SvnAddOptions): Promise<SvnResponse<string>>;
/**
* Confirmar cambios al repositorio
*/
commit(options: SvnCommitOptions, paths?: string[]): Promise<SvnResponse<string>>;
/**
* Eliminar archivos del control de versiones
*/
delete(paths: string | string[], options?: SvnDeleteOptions): Promise<SvnResponse<string>>;
/**
* Revertir cambios locales
*/
revert(paths: string | string[]): Promise<SvnResponse<string>>;
/**
* Limpiar working copy
*/
cleanup(path?: string): Promise<SvnResponse<string>>;
/**
* Diagnóstico específico para comandos problemáticos
*/
diagnoseCommands(): Promise<SvnResponse<{
statusLocal: boolean;
statusRemote: boolean;
logBasic: boolean;
workingCopyPath: string;
errors: string[];
suggestions: string[];
}>>;
/**
* Categorizar errores y proporcionar sugerencias específicas
*/
private categorizeError;
/**
* Limpiar cache de credenciales SVN para resolver errores de autenticación
*/
clearCredentials(): Promise<SvnResponse>;
}
//# sourceMappingURL=svn-service.d.ts.map